# [Gelöst]Installierte Pakete nicht in der Datenbank

## Hanisch

Hallo,

nach einer Systemaktualisierung mit den Befehlen:

```
# layman -S && emerge-webrsync && eix-update           

# emerge -uavDN @world  # Vollständiges Upgrade, wobei in /etc/portage/make.conf Folgendes steht: EMERGE_DEFAULT_OPTS="--autounmask=n --with-bdeps=y"

# emerge --update --newuse --deep @world

# emerge -av --depclean

# eclean-dist -d

# revdep-rebuild
```

erhalte ich die Nachricht:

```
# eix-test-obsolete

...

Folgende installierte Pakete sind nicht in der Datenbank:

[D] sys-kernel/gentoo-sources (3.5.7(3.5.7)@19.01.2013 3.8.13(3.8.13)@31.05.2013 -> 3.8.13(3.8.13)^bs): Full sources including the Gentoo patchset for the 3.9 kernel tree
```

Der Kernel 

```
$ uname -r

3.5.7-gentoo
```

ist aktiv.

Was bedeutet das?

Muß ich da etwas tun, um einen  evtl. Fehler zu beseitigen?

Gruß

Ch. HanischLast edited by Hanisch on Tue Jun 04, 2013 10:48 am; edited 1 time in total

----------

## franzf

Schau doch mal mit eix gentoo-sources - 3.5.7 gibt es nicht mehr, wie einige andere auch. 3.8.13 ist aktuell. Ich würde ein update DRINGEND empfehlen - danach alles was es nicht mehr gibt deinstallieren.

----------

## Hanisch

 *franzf wrote:*   

> Schau doch mal mit eix gentoo-sources - 3.5.7 gibt es nicht mehr, wie einige andere auch. 3.8.13 ist aktuell. Ich würde ein update DRINGEND empfehlen - danach alles was es nicht mehr gibt deinstallieren.

 

```
$ eix gentoo-sources - 3.5.7

Kein Treffer.
```

Wie mache ich denn ein solches update?

Wie deinstalliere ich alles, was es nicht mehr gibt?  Woran erkenne ich das?

Ich habe mir den Kernel selbst compiliert, wird der dann auf die neue Version 3.8.13 mit meinen  Besonderheiten übertragen?

Warum ist der Kernel nicht schon bei meiner Systemaktualisierung mit erneuert worden?

Gruß

Ch. Hanisch

----------

## gendjaral

"franzf" wollte dir mit dem Kommando "eix gentoo-sources - 3.5.7" lediglich aufzeigen das dich "eix" nicht anschwindelt. Der Kernel 3.5.7 wurde tatsächlich (wie angekündigt) aus dem Repos. entfernt.

Um dir das nächste mal klarheit zu verschaffen würde ich dir auch Folgende Seite ans Herz legen:

http://packages.gentoo.org/package/sys-kernel/gentoo-sources

Alternativ:

```
eshowkw blah-blah
```

Warum wurde die Kernel source 3.7.10 entfernt? Security reasons:

https://bugs.gentoo.org/show_bug.cgi?id=469854

Ein Update ist in der Tat anzuraten. Jedoch musst du dies nicht gleich sofort erledigen. Der Kernel in der Version 3.7.10 ist ja nach wie vor Nutzbar und wird gebootet.

Bevor du nun Experimente über das Knie brichst würde ich dir Folgenden Link ans Herz legen:

http://www.gentoo.org/doc/en/kernel-upgrade.xml

Wenn der neue Kernel installiert ist und dein System brav seine Arbeit verrichtet, kannst du dein System wie in Punkt 10 von Altlasten befreien.

Lass hören wenn der Schuh weiterhin drückt.   :Smile: 

----------

## Josef.95

 *Hanisch wrote:*   

>  *franzf wrote:*   Schau doch mal mit eix gentoo-sources - 3.5.7 gibt es nicht mehr, wie einige andere auch. 3.8.13 ist aktuell. Ich würde ein update DRINGEND empfehlen - danach alles was es nicht mehr gibt deinstallieren. 
> 
> ```
> $ eix gentoo-sources - 3.5.7
> 
> ...

  Hm nein, "gentoo-sources - 3.5.7" ist kein valider Paketname, und so war es auch nicht gemeint.

Gemeint war eher ein schlichtes 

```
eix gentoo-sources
```

 In der Ausgabe ist dann ersichtlich welche gentoo-sources Versionen verfügbar sind, und auch welche installiert sind.

 *Hanisch wrote:*   

> Warum ist der Kernel nicht schon bei meiner Systemaktualisierung mit erneuert worden?

  Die aktuellen Kernel-Sources, in diesem Fall gentoo-sources sind  beim world Update sicherlich schon mit installiert worden. Doch beachte, das sind nur die Sources, den eigentlichen Kernel musst du daraus selbst bauen (manuell, oder mit genkernel, oder wie auch immer).

Und noch kurz zur Deinstallation alter Sources:

Sofern installierte Sources Pakete nicht explizit mit Slot-Angabe mit im world File (oder einem Set) stehen werden ältere Versionen normal beim --depclean mit deinstalliert.

Wenn du alle älteren Versionen bis auf die aktuelle (auch solche, die mit Slot im world stehen) deinstallieren möchtest, dann nutze am besten --prune , also zb 

```
emerge --prune -av gentoo-sources
```

----------

## mv

 *Josef.95 wrote:*   

> 
> 
> ```
> emerge --prune -av gentoo-sources
> ```
> ...

 

Wobei man der Vollständigkeit halber dazu sagen sollte, dass das "unmergen" des Pakets natürlich nur das Paket selbst deinstalliert. Speziell bei Kernelquellen heißt dies, dass weder die *.o-files (oder andere Files, die beim Kernelbauen erzeugt wurden) noch der Kernel selbst, noch die Ramdisk, noch beim Bauen installierte Module in /lib/modules oder Firmwere in /lib{,64}/firmware deinstalliert wird - da muss ggf. händisch aufgeräumt werden.

Edit: Path for firmware corrected. Thanks to Josef.95 for pointing outLast edited by mv on Mon Jun 03, 2013 11:17 am; edited 2 times in total

----------

## Hanisch

 *Josef.95 wrote:*   

> 
> 
> Gemeint war eher ein schlichtes 
> 
> ```
> ...

 

```
~ $ eix gentoo-sources

[D] sys-kernel/gentoo-sources

     Available versions:  

   (3.0.75)   ~3.0.75^bs

   (3.0.76)   ~3.0.76^bs

   (3.0.77)   ~3.0.77^bs

   (3.0.78)   ~3.0.78^bs

   (3.0.79)   ~3.0.79^bs

   (3.0.80)   ~3.0.80^bs

   (3.2.45)   ~3.2.45^bs

   (3.2.46)   ~3.2.46^bs

   (3.4.42)   ~3.4.42^bs

   (3.4.43)   ~3.4.43^bs

   (3.4.44)   ~3.4.44^bs

   (3.4.45)   ~3.4.45^bs

   (3.4.46)   ~3.4.46^bs

   (3.4.47)   ~3.4.47^bs

   (3.7.10)   *3.7.10^bs

   (3.8.9)   ~3.8.9^bs

   (3.8.10)   ~3.8.10^bs

   (3.8.11)   ~3.8.11^bs

   (3.8.12)   ~3.8.12^bs

   (3.8.13)   3.8.13^bs

   (3.9.0)   ~3.9.0^bs

   (3.9.1)   ~3.9.1^bs

   (3.9.1-r1)   ~3.9.1-r1^bs

   (3.9.2)   ~3.9.2^bs

   (3.9.3)   ~3.9.3^bs

   (3.9.4)   ~3.9.4^bs

   {{build deblob symlink}}

     Installed versions:  3.5.7(3.5.7)^bs(19:33:08 19.01.2013)(-build -deblob -symlink) 3.8.13(3.8.13)^bs(20:47:25 31.05.2013)(-build -deblob -symlink)

     Homepage:            http://dev.gentoo.org/~mpagano/genpatches

     Description:         Full sources including the Gentoo patchset for the 3.9 kernel tree
```

Was sagt mir das nun?

 *Quote:*   

>  Die aktuellen Kernel-Sources, in diesem Fall gentoo-sources sind  beim world Update sicherlich schon mit installiert worden. Doch beachte, das sind nur die Sources, den eigentlichen Kernel musst du daraus selbst bauen (manuell, oder mit genkernel, oder wie auch immer).

 

Sollte ich den Kernel neu compilieren wollen, auf welche Kernel-Source bezieht sich das dann?

Gruß

Ch. Hanisch

----------

## Fijoldar

 *Hanisch wrote:*   

> 
> 
> Sollte ich den Kernel neu compilieren wollen, auf welche Kernel-Source bezieht sich das dann?

 

Du kannst mit

```
eselect kernel list
```

 dir anzeigen lassen, welche Kernel Sources zur Verfügung stehen und dann mit

```
eselect kernel set x
```

 den entsprechenden wählen. Wenn du genkernel zum Kernelbauen benutzt, nutzt dieser dann die ausgewählte Version.

----------

## Hanisch

 *Fijoldar wrote:*   

>  Wenn du genkernel zum Kernelbauen benutzt, nutzt dieser dann die ausgewählte Version.

 

```
~ $ sudo eselect kernel list

Available kernel symlink targets:

  [1]   linux-3.5.7-gentoo

  [2]   linux-3.8.13-gentoo *
```

Ist bei der Benutzung von genkernel auch die von mir vorgenommene Option für den Kernel wieder wirksam?

Gruß

Ch. Hanisch

----------

## Fijoldar

 *Hanisch wrote:*   

>  *Fijoldar wrote:*    Wenn du genkernel zum Kernelbauen benutzt, nutzt dieser dann die ausgewählte Version. 
> 
> ```
> ~ $ sudo eselect kernel list
> 
> ...

 

Du meinst die alte Kernel Config? Die kannst du genkernel einfach mitgeben. Ich mache das immer so:

```

1. zcat /proc/config.gz > /usr/src/config

2. eselect kernel set x

3. genkernel --kernel-config=/usr/src/config --menuconfig all

4. module-rebuild rebuild

5. "Grub Update"

```

----------

## Hanisch

 *Fijoldar wrote:*   

> 
> 
> Du meinst die alte Kernel Config? Die kannst du genkernel einfach mitgeben. Ich mache das immer so:
> 
> 1. zcat /proc/config.gz > /usr/src/config
> ...

 

Bis hierhin habe ich es ausgeführt, aber

 *Quote:*   

> 4. module-rebuild rebuild

 

funktioniert nicbt.

```
gentoo_VM ~ # module-rebuild list 

** There are no known modules. Quitting.

gentoo_VM ~ # module-rebuild rebuild

** Preparing to merge modules:

```

 *Quote:*   

> 5. "Grub Update"

 

Was meinst Du damit? 

Welche Befehle soll ich da anwenden?

Gruß

Ch. Hanisch

----------

## Fijoldar

 *Quote:*   

> 4. module-rebuild rebuild

 

Punkt 4 ist nicht unbedingt nötig. Das ist ein eigenes Paket:

```
[I] sys-kernel/module-rebuild

     Available versions:  0.5 (~)0.6 (~)0.7

     Installed versions:  0.7(16:37:14 16.05.2013)

     Homepage:            http://www.gentoo.org/

     Description:         A utility to rebuild any kernel modules which you have installed

```

Das installiert nur die Pakete neu, die nach einem Kernel Update neu gebaut werden müssen (z.B. proprietäre Grafikkartentreiber, WLan-Treiber etc.). Ist je nach System manchmal nötig oder auch nicht. Wollte es nur der Vollständigkeit halber mal nennen. Die Pakete können natürlich auch jederzeit manuell neu gebaut werden.

 *Quote:*   

> 
> 
>  *Quote:*   5. "Grub Update" 
> 
> Was meinst Du damit? 

 

Damit meine ich einfach den Bootmanager, in der Regel Grub, aktualisieren. Je nachdem, ob man Grub 1 oder 2 verwendet, muss man das entweder manuell eintragen oder führt ein

```
grub2-mkconfig -o /boot/grub2/grub.cfg
```

aus.

----------

## Josef.95

Fijoldar,

statt dem sys-kernel/module-rebuild Paket ist es inzwischen wahrscheinlich besser das im portage schon vorhandene module-rebuild Set zu nutzen, siehe dazu zb auch im https://bugs.gentoo.org/show_bug.cgi?id=410739

Beispiel: 

```
emerge -pv @module-rebuild
```

----------

## Hanisch

 *Fijoldar wrote:*   

> 
> 
>  *Quote:*   5. "Grub Update" 
> 
>  *Quote:*   Was meinst Du damit?  
> ...

 

Ich habe noch den GRUB1 (Legacy). Da mußte ich die /boot/grub/menu.lst anpassen durch Hinzufügen von

```
...

title Gentoo Linux 3.8.13

root (hd0,0)

kernel   /boot/kernel-genkernel-x86-3.8.13-gentoo root=/dev/ram0 real_root=/dev/sda3

real_root=/dev/sda3

initrd /boot/initramfs-genkernel-x86-3.8.13-gentoo

...

```

Damit läuft jetzt alles wie gehabt mit dem neuen Kernel - Danke.

Gruß

Ch. Hanisch

----------

## Fijoldar

 *Josef.95 wrote:*   

> Fijoldar,
> 
> statt dem sys-kernel/module-rebuild Paket ist es inzwischen wahrscheinlich besser das im portage schon vorhandene module-rebuild Set zu nutzen, siehe dazu zb auch im https://bugs.gentoo.org/show_bug.cgi?id=410739
> 
> Beispiel: 
> ...

 

Ah, danke! Gut zu wissen.

In der englischen Doku steht es auch genauso. Nur in der deutschen wird halt auf das Paket sys-kernel/module-rebuild verwiesen. Weswegen ich mir das wohl auch so angewöhnt hatte. Es ist etwas schade, wenn so wichtige Dinge nicht zeitnah aktualisiert werden (Letztes Update 2007!). Fehlt da einfach die nötige Manpower?

----------

## musv

 *franzf wrote:*   

> Schau doch mal mit eix gentoo-sources - 3.5.7 gibt es nicht mehr, wie einige andere auch. 3.8.13 ist aktuell. Ich würde ein update DRINGEND empfehlen - danach alles was es nicht mehr gibt deinstallieren.

 

Würde ich nicht so sehen. Ok, bei Kernel-3.5.7 kann man schon mal ein Update machen. Da sind wir mittlerweile bei 3.9.x angelangt. Aber auch mit 3.5.7 läuft der Rechner. 

```
# eix-test-obsolete

...

Folgende installierte Pakete sind nicht in der Datenbank:

[D] sys-kernel/gentoo-sources (3.5.7(3.5.7)@19.01.2013 3.8.13(3.8.13)@31.05.2013 -> 3.8.13(3.8.13)^bs): Full sources including the Gentoo patchset for the 3.9 kernel tree
```

bedeutet nur, dass gentoo-sources-3.5.7 nicht mehr im Portage enthalten ist. Das kann verschiedene Gründe haben. Das Ebuild dazu findest du aber auch weiterhin in /var/db/pkg. Sonst könntest du das Paket auch nicht über den Portage deinstallieren. 

 *Hanisch wrote:*   

> Sollte ich den Kernel neu compilieren wollen, auf welche Kernel-Source bezieht sich das dann? 

 

Wirf mal einen Blick nach /usr/src. Sieht dort so in etwa aus (aus dem Kopf rekonstruiert):

```
linux -> linux-3.9.3

linux-3.9.3

linux-3.7.1

linux-3.5.7
```

D.h. 3.9.3 ist Deine aktive Kernelversion, für die irgendwelche Kernelmodule von externen Paketen, z.b. Nvidia-drivers gebaut werden würden. Durch Umsetzen des Links entweder über eselect oder einfach manuell mit ln -s wählst du einen anderen Kernel.

----------

## mv

 *musv wrote:*   

> Aber auch mit 3.5.7 läuft der Rechner.

 

...und hat dann klaffende Sicherheitslöcher. Mit so etwas ans Internet zu gehen, wäre verantwortungslos.

----------

## franzf

 *musv wrote:*   

>  *franzf wrote:*   Schau doch mal mit eix gentoo-sources - 3.5.7 gibt es nicht mehr, wie einige andere auch. 3.8.13 ist aktuell. Ich würde ein update DRINGEND empfehlen - danach alles was es nicht mehr gibt deinstallieren. 
> 
> Würde ich nicht so sehen. Ok, bei Kernel-3.5.7 kann man schon mal ein Update machen. Da sind wir mittlerweile bei 3.9.x angelangt. Aber auch mit 3.5.7 läuft der Rechner. 

 

http://www.golem.de/news/security-gefaehrliche-luecke-im-linux-kernel-1305-99294.html

----------

## Hanisch

 *musv wrote:*   

> 
> 
> ```
> # eix-test-obsolete
> 
> ...

 

In /var/db/pkg finde ich nichts, was auf den Kernel 3.5.7 hinweist.

Wie kriege ich nun die obige Meldung weg und wie lösche ich die gentoo-sources- 3.5.7?

Gruß

Ch. Hanisch

----------

## gendjaral

 *mv wrote:*   

>  *musv wrote:*   Aber auch mit 3.5.7 läuft der Rechner. 
> 
> ...und hat dann klaffende Sicherheitslöcher. Mit so etwas ans Internet zu gehen, wäre verantwortungslos.

 

Stimme dir ohne Einschränkung zu! Aber unter uns: Sinnlos Rasen in der Wüste zu sähen... 

Spätestens nach der letzten Nachricht meines Vorposters, gewann ich den Eindruck meinen ersten Post mit "Zaubertinte" verfasst zu haben...   :Crying or Very sad: 

----------

## Jean-Paul

 *Hanisch wrote:*   

> 
> 
> In /var/db/pkg finde ich nichts, was auf den Kernel 3.5.7 hinweist.

 

Der Kernel-3.5.7 ist aber noch installiert.

Er müsste in /var/db/pkg/sys-kernel stehen.

 *Hanisch wrote:*   

> Wie kriege ich nun die obige Meldung weg und wie lösche ich die gentoo-sources- 3.5.7?

 

Wenn "uname -r" = 3.8.1-gentoo anzeigt (den hast du ja installiert), dann führe ein "emerge -cp" aus und schaue was alles gelöscht werden soll.

Es müsste auch der gentoo-sources-3.5.7 dabei sein (den hast du noch nicht deinstalliert).

Wenn du mit dem was gelöscht werden soll einverstanden bist, führe ein "emerge -c" und lass das Zeug löschen.

Dann schaust du mit "ls -l /usr/src" was da so rumliegt und löschst weg (rm -r xxx) was du nicht mehr brauchst.

Unter /lib/modules/ und in /boot liegen bestimmt auch noch Leichen.

Jean-Paul

----------

## Hanisch

 *Jean-Paul wrote:*   

> 
> 
> Wenn "uname -r" = 3.8.13-gentoo anzeigt (den hast du ja installiert), dann führe ein "emerge -cp" aus und schaue was alles gelöscht werden soll.
> 
> Es müsste auch der gentoo-sources-3.5.7 dabei sein (den hast du noch nicht deinstalliert).
> ...

 

```
~ $ sudo emerge -cp

Passwort: 

 * Depclean may break link level dependencies. Thus, it is

 * recommended to use a tool such as `revdep-rebuild` (from

 * app-portage/gentoolkit) in order to detect such breakage.

 * 

 * Always study the list of packages to be cleaned for any obvious

 * mistakes. Packages that are part of the world set will always

 * be kept.  They can be manually added to this set with

 * `emerge --noreplace <atom>`.  Packages that are listed in

 * package.provided (see portage(5)) will be removed by

 * depclean, even if they are part of the world set.

 * 

 * As a safety measure, depclean will not remove any packages

 * unless *all* required dependencies have been resolved.  As a

 * consequence, it is often necessary to run `emerge --update

 * --newuse --deep @world` prior to depclean.

Calculating dependencies... done!

>>> No packages selected for removal by depclean

>>> To see reverse dependencies, use --verbose

Packages installed:   793

Packages in world:    59

Packages in system:   42

Required packages:    793

Number to remove:     0
```

```
/var/db/pkg/sys-kernel/gentoo-sources-3.5.7
```

```
/lib/modules/3.5.7-gentoo
```

Kann ich die beiden obigen Stellen ohne Nachteile löschen?

Die /boot/kernel-genkernel-x86-3.5.7-gentoo und  /boot/initramfs-genkernel-x86-3.5.7-gentoo brauche ich aber noch. Wenn ich die lösche und aus der menu.lst austrage, dann ist wohl alles vom Kernel 3.5.7 weg?

Gruß

Ch. Hanisch

----------

## Fijoldar

Warte mit dem Löschen doch noch ein ewig. Das ist jetzt erstmal gar nicht nötig. Schau erstmal, ob der neue 3.8.13 auch wirklich funktioniert. Löschen kannst du die alten Reste immer noch. Damit würde ich aber immer mind. 1-2 Wochen warten. Dann kannst du dir sicher sein, dass du den alten Kernel nicht mehr benötigst. Allein die Existenz ist ja noch kein Sicherheitsrisiko.

 *Quote:*   

> /lib/modules/3.5.7-gentoo

 

solltest du auf keinen Fall löschen, falls du den 3.5.7 Kernel noch einmal booten musst.

----------

## Jean-Paul

 *Hanisch wrote:*   

> Kann ich die beiden obigen Stellen ohne Nachteile löschen? 

 

NEIN !

In der Datenbank (/var/db/pkg/...) sollst du gar nichts löschen.

/lib/modules/3.5.7-gentoo kannst du löschen, wenn der Kernel deinstalliert ist.

Warum emerge -c bei dir nichts anzeigt, verstehe ich jetzt auch nicht.

Irgendwie kann ich mich heute nicht mehr konzentrieren - war ein langer Tag. Ich versuche es morgen nochmals.

Jean-Paul

----------

## Josef.95

 *Hanisch wrote:*   

> 
> 
> ```
> /var/db/pkg/sys-kernel/gentoo-sources-3.5.7
> ```
> ...

 

Nein, in der /var/db/pkg Datenbank sollte man normal gar nichts ändern müssen (falls dir dein System lieb ist lasse da bitte die Finger von).

Es ist doch davon auszugehen das sys-kernel/gentoo-sources:3.5.7 mit im world steht?! Wenn dem so ist, dann nutze zb 

```
emerge -avc gentoo-sources:3.5.7
```

 oder das schon genante --prune 

```
emerge --prune -av gentoo-sources
```

 (zu dem es bisher leider keine Rückmeldung deinerseits gab)

----------

## Hanisch

 *Josef.95 wrote:*   

> 
> 
> Es ist doch davon auszugehen das sys-kernel/gentoo-sources:3.5.7 mit im world steht?! Wenn dem so ist, dann nutze zb 
> 
> ```
> ...

 

Die Kernel-sources 3.5.7 wurden mit 

```
emerge -avc gentoo-sources:3.5.7
```

gelöscht.

Und nun bringt eix-test-obsolete auch keine diesbezügliche Meldung mehr.

Das Problem ist also gelöst - Danke.

Gruß

Ch. Hanisch

----------

