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.

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/