# Slotted Pakete?

## Martux

Wie behalte ich eigentlich Übersicht über geslottete Pakete?

Meine alten gentoo-sources scheinen nicht vollständig gelöscht worden zu sein.

Jetzt möchte ich alle geslotteten Pakete außer dem aktuellsten deinstallieren.

Ich meine sowas:

```

sys-kernel/gentoo-sources

    selected: 2.6.16-r13

   protected: none

     omitted: 2.6.14-r2 2.6.14-r4 2.6.14-r5 2.6.15-r1 2.6.16-r3 2.6.16-r6 2.6.16-r7 2.6.16-r9 2.6.17-r4 2.6.17-r7 2.6.17-r8 2.6.18-r2 2.6.18-r6 2.6.19-r5 2.6.20-r6 2.6.20-r7 2.6.20-r8 2.6.21-r2 2.6.16-r11 2.6.16-r12

>>> 'Selected' packages are slated for removal.

>>> 'Protected' and 'omitted' packages will not be removed.

>>> Unmerging sys-kernel/gentoo-sources-2.6.16-r13...

```

----------

## mrsteven

```
emerge -Pa gentoo-sources
```

löscht alle Versionen der gentoo-sources außer der zuletzt installierten.  :Wink:  Wie immer beim Löschen gilt natürlich: Vorsichtig sein! Hab mir so schon mal meinen Compiler gekillt...  :Rolling Eyes: 

----------

## musv

Wenn du alle alten Kernelinstallationen löschen willst, gibt's da noch etwas mehr zu beachten:

1. emerge -Pa gentoo-sources für die Kernelinstallationen

2. In /lib/modules kannst du auch gleich alle Ordner bis auf den des aktuellen Kernels löschen

3. /boot freut sich dann ebenfalls noch über Aufräumarbeiten, da logischerweise da auch noch die ganzen Kernelimages drinliegen.

PS: Ist aber schon etwas krass, wieviele Kernelversionen du noch so rumliegen hast.

----------

## mrsteven

 *musv wrote:*   

> PS: Ist aber schon etwas krass, wieviele Kernelversionen du noch so rumliegen hast.

 

Ich wäre froh, wenn ich so viel Platz hätte... *seufz*

----------

## Martux

Hallo Männer!

Danke für die Antworten, emerge -Pa gentoo-sources hat's gebracht.

Ich bin nur etwas verwundert, da ich nach jedem Neuinstallieren eines Kernels, den alten mittels rm -rf /usr/src/bla entfernt hatte.

Doch jetzt hat emerge -Pa gentoo-sources nocht etliche uralt-Kernel-Versionen entfernt, für die aber unter /usr/src gar keine Ordner da waren??! Wie geht denn sowas?

Was mich noch brennend interessieren würde: Wie kann ich mir alle geslotteten Pakete anzeigen lassen? Vielleicht habe ich noch mehr so Leichen rumfliegen.

Gruß, Marcus

----------

## mv

 *Martux wrote:*   

> Was mich noch brennend interessieren würde: Wie kann ich mir alle geslotteten Pakete anzeigen lassen?

 

Kommt darauf an, was Du unter geslottet verstehst: Nichttrivialer Slot-Name? Mindestens 2 Versionen im Portage-Baum? Mindestens 2 Versionen im Portage-Baum und mindestens 1 installiert? Mindestens zwei Versionen von Dir installiert?

Für jeden Fall gibt es gesonderte eix-Optionen (-1, -2, -2I, -i). Also beispielsweise für den letzten Fall:

```
eix -ic
```

----------

## Martux

Yo! Es geht anscheinend auch mit "emerge -Pav".

Da sind aber keine Löschkandidaten mehr dabei.

Cu,Marcus

----------

## musv

 *Martux wrote:*   

> 
> 
> Ich bin nur etwas verwundert, da ich nach jedem Neuinstallieren eines Kernels, den alten mittels rm -rf /usr/src/bla entfernt hatte.
> 
> Doch jetzt hat emerge -Pa gentoo-sources nocht etliche uralt-Kernel-Versionen entfernt, für die aber unter /usr/src gar keine Ordner da waren??! Wie geht denn sowas?

 

Ähm, wielange verwendest du schon Gentoo????ßßß? Anhand Deines Status mußt du ja schon 'ne ganze Menge gespostet haben. Können ja nicht nur alles Fragen gewesen sein.

Egal:

Beim Compilieren legt Gentoo den Source-Code ordinärer Pakete in /var/tmp/portage/ ab. Wenn emerge fertig mit Compilieren ist, werden die Daten ins System installiert und das Temp-Verzeichnis gelöscht. Zusätzlich wird das Paket noch in /var/db/pkg/ eingetragen. Das könnte man beim Kernel genauso machen.

ABER: Dann:

 müßtest du bei jedem Mal Kernelkonfigurieren statt nach /usr/src nach /var/temp/portage/sys-kernel/gentoo-sources gehen.

würden nach jeder Kernelinstallation nach obigen System die ganzen Source-Daten gelöscht werden. Das macht sich ungut, wenn du Kernelmodule aus externen Paketen bauen willst (ntfs-3g, alsa-driver (aus dem Portage), madwifi-ng, nvidia-kernel usw.). Genau dann müßtest du nämlich jedes mal die Kernelquellen vorher erst wieder installieren und konfigurieren. Aus dem Grund läßt man die Kernelquellen auch nach der Installation noch im System.

Und ein Linux ohne Kernelsourcen ist grausam zu handhaben. Versuch mal unter Ubuntu oder besonders unter Fedora irgendein Paket zu installieren, was Kernelsourcen benötigt. Ich hab da schon manchmal in die Tastatur gebissen bei diesen umständlichen Methoden.

Der Hauptgrund, warum die Sourcen aber in /usr/src sind, ist wohl historisch bedingt, da wohl z.B. bei LFS die ganzen Quellcodes unter /usr/src abgelegt werden, weil es da kein Paketmanagement gibt.

Um auf die eigentliche Frage zurückzukommen: Andere Programme z.B. OpenOffice deinstallierst du doch auch nicht, indem du einfach /usr/lib/openoffice löschst. Da verwendest du auch ein emerge --unmerge openoffice. Also warum sollte das bei den Kernelsource anders sein?

Das Extralöschen der Module (/lib/modules/$kernelversion) hab ich dazugeschrieben, weil du nicht zwingend einen Kernel über emerge installiert haben mußt, um damit arbeiten zu können. Es reicht, wenn das Kernelimage (+Systemmap) in /boot und die Module in /lib/modules vorhanden sind. 

 *Martux wrote:*   

> 
> 
> Was mich noch brennend interessieren würde: Wie kann ich mir alle geslotteten Pakete anzeigen lassen? Vielleicht habe ich noch mehr so Leichen rumfliegen.

 

Also wie du alle geslotteten Pakete anzeigen lassen kannst, weiß ich nicht. Aber bei manchen Paketen ist es auch notwendig, mehr als eine Version gleichzeitig auf dem Rechner zu haben, da diverse Pakete unterschiedliche Versionen verlangen. Beispiel: Java (1.4, 1.5, 1.6) oder gtk+(1.2.10-r12 und 2.10.12). Wenn du da einfach mal so die niedrigere Version runterlöschst, wirst du gewisse Probleme bekommen.

Aber alle unnötigen Pakete und auch geslottete Versionen kannst du mit:

```
emerge --depclean
```

entfernen. Nachgucken, welche Pakete entfernt werden würden, kannst du mit Parameter -p.

VORAUSGESETZT: Dein Worldfile ist aufgeräumt. Das wiederum bedeutet, daß du die Endanwendungen da drinstehen haben solltest, also im Normalfall keine Libs und keine Systempakete. Die werden als Abhängigkeiten automatisch installiert (emerge -1). Ansonsten bekommst du nicht benötigte Pakete nie runter.

UND: emerge --depclean ist auch nich zu 100% zuverlässig. Beispiel: Ich hatte 4 Versionen von sys-libs/db installiert (1.85-r3, 3.2.9-r11, 4.3.29-r2 und 4.5.20_p2). Einige Anwendungen funktionierten schon mit 4.5.*, andere wollten wieder nur die 4.3.* akzeptieren. emerge --depclean meinte aber immer, die 4.3. könnte entfernt werden, da ja bereits die 4.5. installiert ist. 

DESHALB: Nach jedem emerge --depclean:

```
revdep-rebuild -X
```

Auch hier kannst du mit Parameter -p erstmal wieder nachsehen.

----------

## Martux

 *musv wrote:*   

>  Können ja nicht nur alles Fragen gewesen sein.
> 
> 

 

 :Embarassed:  Ähmm, ab und zu kann ich einem noob auf die Sprünge helfen, ansonsten: Doch!

Ich gehöre eher zu den Hobbyisten in diesem Forum und habe einen Job der nichts mit Computern zu tun hat. Zum Glück, sonst hätte ich wohl bald keinen Spaß mehr an diesem Hobby.

Deine Erklärung zu den geslotteten Kernel-Sources war sehr erhellend und hilft mir wirklich weiter! Ab sofort werde ich auch den Kernel brav unmergen  :Smile: 

Gruß, Marcus

----------

