Dieser Beitrag ist an Neulinge gerichtet, die ihre Gentoo Installation bewältigt haben. Daher kommt er in das "Neulinge" Bereich.
Gentoo ist erfolgreich installiert und tut was es soll. Was muss man tun damit es so bleibt?
Als Rolling-Release gibt es keine Upgrades, die man alle 6 Monate bis 2 Jahre bekommt, wie bei anderen Distris. Stattdessen muss man täglich bis wöchentlich aktualisieren. Es sind dann kleine "Upgrades" einzelner Pakete die man gut bewältigen kann. Wartet man jedoch ein Jahr oder mehr, so ist das Upgrade sehr kompliziert so dass oft eine Neu-Installation einfacher ist. Also was muss man tun um Gentoo aktuell zu halten?
app-portage/eix installieren
Dieses Such-Tool für Portage muss man natürlich nicht täglich, sondern nur einmal installieren. Das Tool gehört meiner Meinung nach auf jedes Gentoo-System. Es werden alle Pakete indiziert und die Suche beschleunigt. Es gibt auch Zusatz-Funktionen, die Ihr unten erkennen werdet. Ich gehe hier davon aus dass das Tool installiert ist.
Also, zum aktuell-halten des Systems tue ich folgendes täglich:
1. Aktualisieren der verfügbaren Ebuilds
Falls man bereits Laymen-Overlays nutzt:
|
Quellcode
|
1
|
layman -S
|
Mit oder ohne Laymen, anschließend ein
|
Quellcode
|
1
|
eix-sync
|
Damit ist die Ebuild(Bauanleitung) Sammlung wieder auf dem neuesten Stand.
Ab und zu kommt eine Meldung:
|
Quellcode
|
1
|
IMPORTANT: 2 news items need reading for repository 'gentoo'.
|
Diese sollte nicht ignoriert werden, denn dort steht was Euch bei einem der nächsten Updates erwartet. In dem Fall also ein
|
Quellcode
|
1
|
eselect news read
|
und sorgfältig lesen.
2. Neue Versionen einspielen
Zum einspielen neuer Versionen ist folgender Befehl zuständig:
|
Quellcode
|
1
|
emerge -uvaDN --jobs=5 world
|
Diesen muss ich erklrären.
emerge: "Paketmanager", oder ein Programm der die Bauanleitungen liest und das tut was da drin steht, also Pakete bauen. Dieses habt Ihr ja bereits während der Installation kennen gelernt.
world: Gentoo unterscheidet bei Paketen zwischen "Will ich haben" und "Muss als Abhängigkeit sein". Im World-Set sind alle Pakete aufgelistet die zu "Will ich haben" gehören. In das Set kommen Pakete, die man explizit mit "emerge paket" installiert hat. Die gezogenen Abhängigkeiten kommen da nicht rein.
Es sollen also nur die Pakete aktualisiert werden die man haben will, ohne weitere Parameter. Aber wir haben ja noch weitere
-u: Update. Neuere Versionen bauen. Pakete wo keine neue Version da ist, werden nicht neu gebaut.
-v: Verbose. Ein Paar zusätzliche Infos ausgeben
-a: Ask. Bevor Emerge loslegt, fragt es "Sind Sie sich sicher?"
-D: Deep. Auch alle Abhängigkeiten ("Muss als Abhängigkeit sein") durchsuchen und ggf. aktualisieren.
-N: New-Use. Pakete bei denen ohne Versionsänderung neue USE-Flags dazugekommen, weggefallen oder geändert worden sind, werden ebenfalls neu gebaut.
--jobs=5. Optional, nutze ich aber gern. Damit werden 5 (andere Werte möglich) Pakete gleichzeitig kompiliert. Die CPU wird ausgelastet und der gesamt-Update beschleunigt.
Ab und zu kommen Blocker. Diese kann ich jedoch nicht pauschal erklären. Meistens reicht ein demaskieren einer Version oder Änderung eines USE-Flags. Einfach hier im Forum nachfragen.
3. Kaffee trinken
Denn der Punkt 2 kann eine Weile dauern. Aber normalerweise ist das System in der Zeit des Updates trotz Prozessor-Belastung gut nutzbar. Falls nicht, kann man in der make.conf noch was rausholen.
Wenn der Bau vorbei ist, kommen diverse Informationen von Paketen, die man sich anschauen sollte.
4. Aufräumen
Es ist möglich dass einige Pakete nicht mehr zu "Muss als Abhängigkeit sein" gehören und daher vom System runter können. Das macht man mit dem Befehl:
|
Quellcode
|
1
|
emerge -a --depclean
|
Aber vorsicht, die Liste vorher prüfen ob nicht einer der Pakete zu "Will ich haben" gehören. Wenn ja,abbrechen und mit
|
Quellcode
|
1
|
emerge -n paket
|
in das World aufnehmen.
5. Upgrade
Wenn Bibliotheken (Linux="so", Windows="dll", gehören zu "Muss als Abhängigkeit sein") aktualisiert wurden, das Programm was diese benötigt jedoch nicht, kann es vorkommen dass diese nicht mehr zu einander passen. Gentoo behält die alten Versionen bis alle Pakete mit der neuen Version können. Dazu müssen diese einfach neu gebaut werden. Also, wenn die Meldung kommt:
|
Quellcode
|
1
|
!!! existing preserved libs:
|
ein
|
Quellcode
|
1
|
emerge -va @preserved-rebuild
|
ausführen.
6. Konfiguration
Oft haben sich auch die Konfigurationsdateien geändert. Die Konfigurationsdateien, wo man selbst Änderungen gemacht hat, werden nicht einfach so überschrieben. Stattdessen muss man die Änderungen kontrolliert prüfen und übernehmen. Dazu stehen mehrere Tools bereit.
etc-update: Ein sehr einfaches Tool, was bei Portage dabei ist.
dispatch-conf: Ein sehr gutes Tool für Kommandozeile, ebenfalls bei Portage dabei
cfg-update: Ein eigenes Paket (app-portage/cfg-update). Diesen nutze ich dort gern wo grafische Oberfläche verfügbar ist. Denn dieses Tool benutzt "dev-util/meld" oder "kde-misc/kdiff3" oder ähnliches zum zusammenführen der Konfigurationsdateien.
7. Portage Konfiguration aufräumen
|
Quellcode
|
1
|
eix-test-obsolete
|
starten und mit den Infos in /etc/portage aufräumen.
8. Heruntergeladene Source-Dateien aufräumen
|
Quellcode
|
1
|
eclean distfiles
|
löscht alle runter geladenen Dateien, die von keinem Ebuild noch benötigt werden. Will man noch mehr löschen, hilft der Parameter -d. Damit werden nur die Dateien behalten die auch aktuell installiert sind (für re-installation).