Nachdem wir uns im ersten Teil unserer Gentoo-Mini-Serie mit der Installation beschäftigt haben, möchten wir Sie in diesem Teil mit der Wartung vertraut machen. Dabei legen wir den Schwerpunkt wieder auf Gentoo-Spezifika und verweisen bei distributionsunabhängigen Befehlen auf die Literatur [4, 6].
Serie: Gentoo Linux
Teil 1: Installation in 12 Schritten https://www.linux-community.de/artikel/7629
Teil 2: Systemwartung mit Portage https://www.linux-community.de/artikel/7630
Wie wir im ersten Teil gesehen haben, arbeitet Gentoo normalerweise nicht mit vorkompilierten Paketen, sondern mit so genannten Ebuilds. Sie beinhalten sämtliche Informationen, um das betreffende Programm zu betreuen (Download-Zweig, Version, etc.). Sämtliche für Gentoo verfügbaren Ebuilds bilden (vereinfacht ausgedrückt) den Portage-Zweig. Portage stellt das zentrale Software-Management-Tool für die Wartung Ihres Systems dar; den Umgang mit diesem Werkzeug wollen wir uns im Folgenden näher ansehen.
Das Portage-Systen
Das Software-Management-Tool Portage stellt eine der größten Stärken eines Gentoo-Systems dar. Es bietet größte Flexibilität und eine unglaubliche Fülle an Optionen. Die wichtigsten der Portage-Features lassen sich über den emerge-Befehl nutzen. Vor der Verwendung von Portage sollte man sich im Klaren sein, dass sich sämtliche Aktionen immer auf den auf ihrem System gespeicherten Portage-Zweig beziehen. Daher ist es notwendig, die entsprechenden Ebuilds regelmäßig (bzw. vor der Installation neuer Programme) zu aktualisieren. Dies erfolgt mit Hilfe des Befehls emerge --sync. Die Installation eines Programms nehmen Sie mit emerge Programmname vor. Um herauszufinden, welche Programme Portage aufgrund von Abhängigkeiten mit einrichtet, dient der Befehl
emerge --pretend programmname
Eine mögliche Ausgabe dieses Kommandos sehen Sie in Abbildung 1. In rechteckigen Klammern eingeschlossen, zeigt das Programm Informationen über das zu installierende Paket an. Die Kürzel haben folgende Bedeutung:
- B (Blocks): Das Paket links blockiert die Installation des rechts stehenden Paketes.
- N (New):
emergeinstalliert das Paket neu. - R (Reemerge): Das Paket ist zwar nicht neu, muss aber trotzdem noch einmal eingerichtet werden.
- F (Fetch): Für dieses Paket müssen Sie den Quellcode manuell herunterladen.
- U (Update): Das Paket existiert bereits auf Ihrem System; es steht jedoch eine Aktualisierung an.
- UD (Downgrade): Das Paket existiert bereits auf Ihrem System;
emergemuss aber eine ältere Version installieren. - U- (slot warning): Das Paket arbeitet mit einer anderen Version auf Ihrem System nicht zusammen.
emergenimmt die Installation vor und deinstalliert dabei die ältere Version.

Abbildung 1: Ein Trockenlauf mit “emerge” fördert zutage, welche Abhängigkeiten das Tool bei der Installation eines Pakets auflösen muss.
Sobald Sie Portage anweisen, ein Programm zu einzurichten, lädt es alle erforderlichen Quellen aus dem Internet herunter. Anschließend nimmt es sofort die Kompilierung und Installation vor. Verfügen Sie über keine Standleitung bzw. Flatrate, kann es interessant sein, zunächst den Download aller gewünschten Pakete zu erledigen und Kompilierung und Installation auf einen späteren Zeitpunkt zu verschieben. Das Herunterladen stoßen Sie in diesem Fall mit dem Befehl
emerge --fetchonly programmname
an. Zu einem beliebigen späteren Zeitpunkt starten Sie die Installation dann mit dem Kommando emerge programmname.
Manchmal will man nicht einzelne Programme einrichten, sondern stattdessen das gesamte System aktualisieren. Dazu dient der Befehl:
emerge --update world
Er bringt sämtliche installierten Programme auf den neusten Stand. Dies gilt jedoch nicht für deren Abhängigkeiten. Um auch diese Programmpakete zu aktualisieren, führen Sie folgendes Kommando aus:
emerge --update --deep world
Portage verfügt auch über die Möglichkeit, verwaiste Pakete zu entfernen. Dies erreichen Sie über die Befehlsfolge
emerge --update --deep --newuse ? world emerge depclean revdep-rebuild
Um den Befehl revdep-rebuild nutzen zu können, müssen Sie das “Gentoolkit” installieren.
Gentoo erlaubt neben der Einrichtung von Programmen direkt aus den Quellen auch die Installation vorkompilierter Programmpakete. Dazu dient der Befehl:
emerge --usepkg --getbinpkg ? Programmname
Die Deinstallation eines Programms kann mit emerge unmerge programmname erfolgen. Hier sei aber darauf hingewiesen, dass Portage nicht überprüft, ob das betreffende Programm von anderen Programmen noch benötigt wird.
Weitere Informationen zur Verwendung von emerge liefern die Manpages, die Sie über man emerge aufrufen. Auch in der Gentoo-Dokumentation [2] finden Sie eine ausführliche Beschreibung des Tools. Eine Zusammenfassung der wichtigsten Portage-Befehle fasst Tabelle 1 zusammen.
Tabelle 1: Wichtigsten Portage-Befehle
| Befehl | Funktion |
|---|---|
emerge --sync |
aktualisiert den Portage-Zweig |
emerge Programmname |
installiert ein Programms |
emerge --pretend Programmname |
überprüft die Abhängigkeiten |
emerge --fetchonly Programmname |
lädt den Quellcode eines Programms herunter |
emerge unmerge Programmname |
deinstalliert ein Programm |
emerge --update world |
aktualisiert das gesamte System |
emerge --update --deep world |
aktualisiert das Systems einschließlich aller Abhängigkeiten |
emerge --usepkg --getbinpkg Programmname |
installiert ein vorkompiliertes Programm |
Optimierungsmöglichkeiten
Wie bereits Teil 1 dieses Workshops kurz geschildert hat, zeichnet sich Gentoo vor allem durch die Möglichkeit aus, sich für (fast) jedes System optimieren zu lassen. Die Einstellungen dazu nehmen Sie in Gentoo über die so genannten Use-Flags vor. Grundsätzlich unterscheidet man zwischen globalen und lokalen Use-Flags.
Wie der Name schon sagt, dienen die globalen Use-Flags systemweit zur Optimierung sämtlicher Programme. Lokale Use-Flags dagegen gelten nur für einzelne Programme. Eine Liste aller globalen Use-Flags hält die Datei /usr/portage/profiles/use.desc bereit. Des weiteren definiert Gentoo für zahlreiche Use-Flags eine Vorbelegung. Diese finden Sie in der Datei /etc/make.profile/make.defaults. Alle Standardeinstellungen können Sie bei Bedarf durch Hinzufügen oder Entfernen von Use-Flag-Schlüsselwörtern verändern. Die notwendigen Use-Variablen legen Sie in /etc/make.conf fest.
Um eine Variablen zu entfernen, setzen Sie einfach ein Minuszeichens davor, zum Beispiel: -gnome. Möchten Sie Use-Flags nur für bestimmte Programmpakete definieren, editieren Sie zu diesem Zweck die Datei /etc/portage/package.use. Dazu müssen Sie sowohl das entsprechende Programmpaket als auch das zu definierende Use-Flag angeben, zum Beispiel dev-php/php -java.
Um ein Use-Flag nur temporär für einen einzelnen Lauf von emerge zu deklarieren, setzen Sie es einfach vor die emerge-Anweisung:
USE="-java" emerge php
Wollen Sie sich die aktuelle Belegung der Use-Flags Ihres Systems ansehen, führen Sie einfach ein emerge info aus. Der Befehl liefert eine Ausgabe mit sämtlichen Informationen über Ihr System (verwendeter Compiler, Kernel-Version, Use-Flags, etc.). Ein Beispiel für eine solche Ausgabe zeigt Abbildung 2.

Abbildung 2: Die aktuellen Use-Flags können Sie sich mit Hilfe des Befehls “emerge info” ausgeben lassen.
Daneben besteht auch die Möglichkeit, sich anzeigen zu lassen, welche Use-Flags für ein bestimmtes Programm gelten. Führen Sie dazu den folgenden Befehl aus:
emerge --pretend --verbose P? rogrammname
Noch aussagekräftiger fällt die Ausgabe mit Hilfe des Kommandos etcat uses Programmname. Beachten Sie aber, dass hierfür wieder das “Gentoolkit” installiert sein muss.
Die Zukunft von Gentoo
Mit dem Jahr 2004 wurde eine neue Form für die Release-Bezeichnung eingeführt, die sich aus Jahr und Version zusammensetzt (z.B. 2004.3, 2005.0, usw.); neue Veröffentlichungen immt das Projekt vierteljährlich vor. Dazu sei noch einmal angemerkt, dass diese “Releases” nur für die CD-Images eine Bedeutung haben. Ihr einmal installiertes Gentoo-System halten Sie stets mit Hilfe von Portage auf dem neuesten Stand.
Besonders angenehm fällt auf, mit welcher Geschwindigkeit neu veröffentlichte Programme Einzug in den Portage-Zweig halten: In der Regel vergeht beispielsweise zwischen der Veröffentlichung einer neuen KDE-Version und der Stabilisierung in Gentoo nicht mehr als ein Monat.
Die Integration neuer Software bzw. Programmversionen erfolgt in drei Stufen: masked, testing und stable. Ein Programm gilt unmittelbar nach der Eingliederung in den Portage-Zweig als masked, durchläuft dann die testing-Phase, bis die Maintainer es schließlich als stable deklarieren. Dem Benutzer belibt es natürlich frei gestellt, nach Belieben Programme aus allen drei “Entwicklungsphasen” zu installieren.
Bei Gentoo arbeiten die Entwickler derzeit an einem Programmassistenten, der die Installation des Systems vereinfachen und damit auch für den Linux-Einsteiger besser handhabbar machen soll. Dieser Schritt ist zwar grundsätzlich zu begrüßen; trotzdem sehen ihn viele engagierte Anwender mit einem Stirnrunzeln: Die derzeitige Form der Installation führt den Benutzer zwangsläufig sofort an das System heran, nach Abschluss des Installationsprozesses kennt er meist bereits die grundlegenden Befehle seines Gentoo-Systems. Eine Installation in der Form, wie Suse oder Fedora sie praktizieren, könnte dazu führen, dass diese sehr wichtige “Lernphase” verloren geht. Der Benutzer würde sein Gentoo-System nicht mehr in der selben Tiefe verstehen, wie es jetzt der Fall ist.
Schlussbemerkung
Damit sind wir am Ende unserer Gentoo-Serie angelangt. Wir hoffen, Ihnen mit dem Überblick über diese faszinierende Distribution einen Anreiz zur weiteren Beschäftigung gegeben zu haben. Es sei noch einmal betont, dass unsere Serie nur einen kurzen Einblick in Gentoo geben konnte, aber nicht als umfassende Abhandlung der Materie verstanden werden sollte.
Trotz der etwas aufwendigen Installation erfreut sich Gentoo in letzter Zeit einer immer größeren Beliebtheit. Dies spiegelt sich vor allem in den Teilnehmerzahlen der einschlägigen Foren wieder. Wir hoffen, dass es uns gelungen ist, Sie mit dem “Gentoo-Virus” zu infizieren, und dass Sie demnächst Ihr System auf Gentoo. Glauben Sie uns – es lohnt sich.
Der Autor
Dipl.-Ing. Dr.techn. Alexander Reiterer arbeitet an der Technischen Universität Wien als Universitätsassistent. Sie erreichen Ihn unter der Mailadresse alexander.reiterer@tuwien.ac.at.
Infos
[1] Gentoo-Homepage: http://www.gentoo.org, [April 2005]
[2] Gentoo-Dokumentation: http://www.gentoo.org/doc/de, [April 2005]
[3] Gentoo-Forum: http://forums.gentoo.org, [April 2005]
[4] Kofler, Michael: Linux – Installation, Konfiguration und Anwendung. Addison-Wesley Verlag, 7. Auflage, 2004
[5] Planet Gentoo-Homepage: http://planet.gentoo.org, [April 2005]
[6] Alexander Reiterer: Gentoo leicht gemacht (Teil 1), LinuxUser 05/2005, S. 68
[7] Welsh, Matt / Dalheimer, Matthias Kalle / Dawson, Terry / Kaufman, Lars: Linux – Wegweiser zur Installation und Konfiguration. O’ Reilly Verlag, 4. Auflage, 2003


