Gentoo Tips und Tricks

Lizenz: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

Verfasser: Markus Kohlmeyer | Letzte Aktualisierung: | Veröffentlicht:

Beitragende: Jesco Freund

Einleitung

An dieser Stelle sind diverse Tips und Tricks rund um die Administration eines Gentoo Linux basierten Servers aufgeführt.

Als guter Gentoo Admin wirft man regelmässig einen Blick in den Gentoo Bugzilla und die Gentoo Foren, um ständig über eventuell auftretende Probleme mit den eingesetzten Paketen informiert zu sein. Ebenfalls sehr informativ sind die Gentoo Dokumentation, die diversen Gentoo Mailinglists und der Gentoo Planet. Benötigt man dann doch einmal schnelle Hilfe, bietet sich das Fragen im passenden Gentoo IRC-Channel förmlich an.

Updates

Wie bei allen anderen Betriebssystemen auch, muss auch ein Gentoo System regelmässig mit Updates versorgt werden.

Hierzu muss zunächst der Portage-Tree aktualisiert werden:

emerge --sync

Anschliessend lässt man sich eine Liste der zu aktualieserenden Pakete anzeigen:

emerge -pDNuv world

Bevor man nun die Pakete aktualisiert, kann man sich noch die ChangeLogs ansehen:

less /usr/portage/$CATEGORY/$PAKET/ChangeLog

Um einzelne Pakete zu aktualisieren reicht ein einfacher emerge:

emerge -u $PAKET

Das Aktualisieren des Systems beziehungsweise mehrerer Pakete gleichzeitig funktioniert analog zum Aktualisieren einzelner Pakete, lediglich der Aufruf von emerge ist unterschiedlich:

emerge -DNu world

Manche Updates betreffen nicht nur das zu aktualisierende Paket, sondern auch andere davon abhängige Pakete. Diese abhängigen Pakete lassen sich einfach mittels revdep-rebuild aus dem gentoolkit Paket ermitteln und anschliessend rekompilieren:

revdep-rebuild -p
revdep-rebuild

Abschliessend sind noch eventuelle Aktualisierungen an Konfigurationsdateien und Init-Scripts zu prüfen und gegebenenfalls auch gleich automatisch durchzuführen. Beides lässt sich mittels etc-update erledigen, wobei das automatische Aktualisieren von Konfigurationsdateien nicht immer empfehlenswert ist und daher manuell durchgeführt werden sollte:

etc-udate

System-Hygiene

Viele Pakete sind abhängig von anderen Paketen. Bei der Installation löst emerge diese Abhängigkeiten automatisch auf und installiert benötigte Pakete automatisch mit. Bei der Deinstallation hingegen wird nur das explizit angegebene Paket gelöscht, so dass sich im Laufe der Zeit eine Menge Pakete ansammelt, die ursprünglich als Abhängigkeit auf den Rechner gelangt sind. Um Pakete zu löschen, die nicht explizit installiert wurden, und die auch von keinem anderen Paket mehr als Abhängigkeit benötigt werden, bietet emerge ebenfalls eine passende Option:

emerge --depclean

Nach einer solchen Reinigungsaktion bietet es sich an, revdep-rebuild wie oben beschrieben einzusetzen, um sicherzustellen, dass keine Abhängigkeiten zerstört wurden.

Manche ebuilds werden von Gentoo in "Slots" installiert. Dies betrifft insbesondere Programme oder Bibliotheken, die als Abhängigkeit von anderen ebuilds benötigt werden, dabei aber in verschiedenen Versionen vorliegen. Prominente Beispiele sind Python oder die Berkeley DB. Wird nun ein solcher ebuild nicht mehr benötigt (da abhängige ebuilds aktualisiert oder deinstalliert wurden), wird er nicht automatisch deinstalliert. Aber auch hier hilft emerge bei der Systemhygiene:

emerge --prune

Auch hiernach ist der Einsatz von revdep-rebuild dringend geboten, um die Konsistenz des Systems zu gewährleisten.