Gentoo - Update und Upgrade
Um ein System auf den neuesten Stand zu bringen bringt man zuerst den Portagetree up to date.
emerge --quiet --sync
möchte man nur Systemkomponenten aktualisieren
emerge -avuD system
Oder das ganze mit „world“ für das gesamte System
emerge --quiet -av --update --deep world
den gleichen Befehl gibt es natürlich auch in Kurzform
emerge -avuD world
Das gesamte System updaten und neu bauen lassen
emerge -aqeuDN world --keep-going
Hat man seine globalen Useflags geändert (/etc/make.conf), muß man sein Update mit –newuse ausführen.
emerge -avuDN world emerge -qauDN --with-bdeps=y @world
Ein Paket löschen
emerge -C cheese
Beim entfernen werden keine Abhängikeiten entfernt. Deshalb muß dies nach einem Update richtig gestellt werden.
emerge -a --depclean
Man kann diesen Befehl immer ausführen. Wenn sich aber in Portage verausgabt hat, wird dieser nicht mehr ausführbar sein, und man muß sein System zuerst updaten wie schon oben beschrieben. Um zu gewährleisten das auch alle Bibliotheken und Symlinks ok sind führt man folgendes aus:
revdep-rebuild
oder auch ab Portage 2.2
emerge @preserved-rebuild
Alte Bibliotheken die unverlinkt sind löschen.
symlinks -drv /
Statikbibliothek überprüfen bzw. reparieren
lafilefixer --justfixit | grep -v skipping
Alte nicht mehr benötigte Distfiles löschen.
eclean -i distfiles
Hiermit löscht man alte Sources in /usr/portage/distfiles
Programm läßt sich nicht mehr starten:
Möchte man z.B. cheese starten, und cheese findet die Libiry „libssl3.so.12“ nicht mehr. Sie ist vorhanden und drotzdem gehts nicht dann muß man diese wiederherstellen.
revdep-rebuild --library libssl3.so.12
Ab sofort funktioniert Cheese wieder.
System zusammen räumen
Um packages.* zu reinigen gibt es folgende Befehle:
portpeek -ar
Zeigt alle unnötige Einträge an. Und mit
portpeek -arf
Löscht alle aufgelisteten Einträge.
Nun gibt es aber oft ganz viele Einträge in Z.B. Keywords die schon stable sind. Diese sieht man damit nicht. Hierfür behilft man sich mit „eix“.
eix-test-obsolete
Ansonsten gibt es noch ungetesteter weise das: https://github.com/knasan/genfoo-tools/