Sie sind nicht angemeldet.

1

Donnerstag, 29. Oktober 2009, 10:02

Paketliste für Gentooinstalation

Hallo

Ich möchte für den Fall einer neuen Gentooinstallation vorsorgen und das ist jetzt glücklicherweise noch nicht nötig.

Jedenfalls ist die Vorstellung einer Neuinstallation fast Horror für mich, zumal meine Gentookenntnisse beschränkt sind. Daher sichere ich alles was mir wichtig erscheint doppelt und dreifach.

Nun will ich eine Liste anlegen, in welcher alle benötigten Programme/Pakete stehen, die z.B. installiert sind und die ich so auch auf einem anderen Rechner haben möchte.
Die Installation eines Grundsystems würde ich nach dieser Kurzanleitung machen wie das letzte mal auch.
Für die manuell installierten Pakete gibt es /var/lib/portage/world.
Aber da fehlt noch etwas.
Ich erinnere mich beispielsweise, dass ich sys-apps/hal seinerzeit nachträglich installierte und dieses Paket steht nicht in *world.
An das erinnere ich mich, aber wahrscheinlich gibt es noch andere Pakete, die manuell installiert wurden, aber in meiner Liste fehlen und deren fehlen möglicherweise Probleme machen, nur dass ich nicht weiß warum.

Es gibt doch sicher irgendeine Datei in der letztlich alle installierten Pakete aufgelistet sind, zumindest die, die zusätzlich zum Desktop-Grundsystem von mir installiert wurden?
Viele Grüße
Niniveh

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Niniveh« (29. Oktober 2009, 10:49)


2

Donnerstag, 29. Oktober 2009, 10:37

Eigentlich sollte die world-Datei als Paketliste reichen. Das setzt voraus, dass man pfleglich damit umgegangen ist.
Ein Paket unter Gentoo ist dann installiert:
1. explizit erwünscht: -> Dann sollte das Paket im worldfile drin stehen.
2. als abhängigkeit: -> Dann steht es nicht im Worldfile
3. "Altlast", alte Abhängigkeit, die nicht mehr benötigt wird. Diese sollte entfernt werden.

Welche Pakete zu (3) gehören, erfährst Du mit

Quellcode

1
emerge -vp --depclean

Falls dort Pakete dabei sind, die zu (1) gehören sollten, füge diese zum Worldfile hinzu

Quellcode

1
emerge --noreplace paket

Die anderen solltest Du entfernen. !WARNUNG!, das könnte auch das System beschädigen.
Nach dem entfernen bitte ein "revdep-rebuild" durchführen.

Damit das Worldfile sauber ist, habe ich mir folgendes angewöhnt.
- ab und zu das Worldfile mit einem Editor aufmachen, und alles, was eigentlich nur Abhängigkeit zu irgendwas ist, dort rauslöschen. (Es passiert ja schnell, dass man was re-emerged und schon ist das Paket im Worldfile)
- nicht mehr benötigte Pakete per Depclean entfernen.
- Wenn ich was RE-emerge, IMMER als "emerge --oneshot". Dadurch wird das Worldfile nicht angefasst.

Zu der eigentlichen Frage: NEIN Es gibt keine Datei mit allen installierten Paketen. Es gibt jedoch das Verzeichnis /var/db/pkg wo alle Infos zu allen installierten Paketen drin sind.
Es gibt immer einen noch größeren Fisch im großen Meer der Klugscheißerei.(http://german-bash.de/304094) usw. | ~ # echo -e \\07

3

Donnerstag, 29. Oktober 2009, 10:42

Danke bell für die ausführliche Antwort


Zitat

- Wenn ich was RE-emerge, IMMER als "emerge --oneshot". Dadurch wird das Worldfile nicht angefasst.

Im Zuge eines emerge -avuND world wird ziemlich oft remergt.
Erfolgt das per default mit --oneshot, oder wird hier das Paket in world etwas eingetragen?
Viele Grüße
Niniveh

4

Donnerstag, 29. Oktober 2009, 10:48

Da erfolgt es per Default mit Oneshot. Btw. Es werden ja Abhängigkeiten von "world" reemerged. In das Worldfile wird nur dann was eingetragen, wenn Du konkret einen Paketnamen angibst. Also zB. bei "emerge -uvatDN gnome" wird gnome in das Worldfile eingetragen, dia anderen Pakete nicht.
Es gibt immer einen noch größeren Fisch im großen Meer der Klugscheißerei.(http://german-bash.de/304094) usw. | ~ # echo -e \\07