
Wie führe ich eigentlich auf typische Debian-Art eine Systemaktualisierung auf der Konsole durch?
(Hier am Beispiel von Debian Etch)
1. Paketquellen kontrollieren
Auf einer Maschine, die man nicht genau kennt - das kann auch die eigene sein, die nach etlichen Testinstallationen schon eine Weile nicht mehr angefaßt wurde - kann es nicht schaden, als allererstes die Paketquellen zu prüfen. Ebenso sollte man dies tun, wenn die letzte Aktualisierung bereits eine Weile zurückliegt, aus welchen Gründen auch immer. In der Datei
/etc/apt/sources.list sind die Repositories eingetragen, aus denen Debian-Pakete bezogen werden können. Dort sollte man gegebenenfalls sämtliche Einträge durch Auskommentieren deaktivieren, deren Quellen unbekannt sind, die man nicht braucht oder die einem als nicht vertrauenswürdig erscheinen. Man kann stillgelegte Einträge später jederzeit wieder reaktivieren. Für eine grundsätzliche Aktualisierung sind Einträge, die über die offiziellen Repositories hinausgehen, jedoch unnötiger Ballast. Zudem können fehlerhafte Pakete aus fremden Repositories den reibungslosen Ablauf des Update-Vorgangs gefährden und stellen damit prinzipiell ein Risiko dar. Deshalb sollte man sich - zumindest im ersten Durchlauf - auf das Allernötigste beschränken.
Die beiden offiziellen Spiegelserver für Deutschland heißen
ftp.de.debian.org und
ftp2.de.debian.org. Falls man keinen Zugriff auf einen lokalen Spiegel hat oder sich nicht ganz sicher ist, woher man seine Pakete beziehen möchte, kann man einen dieser beiden offiziellen Server als Paketquelle in die Liste eintragen. Die genaue Syntax der Datei erklären die Manpages ("
man sources.list"). An dieser Stelle soll ein Beispiel für Deutschland und das kurz vor der Veröffentlichung stehende Debian Etch genügen:
deb http://ftp.de.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.de.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
2. Paketlisten aktualisieren
Seit Debian 3.0 (Sarge) ist der empfohlene Paketmananager nicht mehr
apt-get, sondern
aptitude, weil letzterer Abhängigkeiten besser auflöst. Die Aktualisierung kann damit entweder als Nutzer root durchgeführt werden oder als nichtprivilegierter Nutzer, der via
sudo über die entsprechenden Rechte verfügt. In Ubuntu wird dies beispielsweise so gehandhabt. Beim Aufruf holt der Paketmanager zuerst sämtliche angefallenen Diffs vom Repository-Server und aktualisiert mit ihrer Hilfe anschließend auf dem System die Liste verfügbarer Pakete.
# aptitude update
oder
$ sudo aptitude update
3. System aktualisieren
Wer vorsichtig ist und auf Nummer sicher gehen will, führt diese Aktion auf jeden Fall interaktiv aus. Zwar verlaufen Aktualisierungen in der überwiegenden Mehrheit reibungslos - die Sicherheit dieser Verfahrensweise ist unter anderem mitverantwortlich für den Ruf Debians, eine stabile Distribution zu sein - aber es kann trotzdem einmal zu Pannen oder unerwünschter Aktualisierung von Paketen kommen. Deshalb sollte man sich genau ansehen, welche Pakete
aptitude zur Aktualisierung auswählt, was eventuell als Abhängigkeiten mitinstalliert werden soll und welche Pakete gegebenenfalls als überflüssig erkannt und zur Löschung vorgeschlagen werden.
Wann immer man sich nicht vollständig sicher ist, daß die Vorschläge wirklich in Ordnung sind, sollte man die Aktualisierung vorsichtshalber abbrechen! Es ist wesentlich leichter, unter Umständen mit der Hilfe anderer Nutzer, Pakete einzeln, nacheinander und Stück für Stück zu aktualisieren, als ein durch ein vorschnelles "Update" vermurkstes System wieder flott zu bekommen. Wer also seine Hardware nicht ganz genau kennt oder sich über Sinn und Zweck der zu aktualisierenden Pakete nicht ganz im Klaren ist, sollte bei einer Aktualisierung besondere Sorgfalt walten lassen. Beherzigt man das, kann es einem durchaus gelingen, eine Debian-Installation sogar über mehrere Releases hinweg wieder auf Stand zu bringen.
# aptitude upgrade
oder
$ sudo aptitude upgrade
4. (optional) Zurückgehaltene Pakete aktualisieren
Der Paketmanager
aptitude verhält sich konservativ, wenn man ihn mit der Aktion "upgrade" aufruft. Aktualisierungen, die eine Löschung als wichtig erachteter Pakete oder möglicherweise unerwünschte Aktionen zur Folge hätten, führt er vorsichtshalber nicht aus, um das System nicht zu gefährden. Dies erkennt man beim Update an der sinngemäßen Meldung "folgende Pakete wurden zurückgehalten". Möchte man diese zurückgehaltenen Pakete ebenfalls aktualisieren, kann man dies in einem anschließendem Schritt tun. Es versteht sich von selbst, daß man dabei ganz besondere Sorgfalt walten lassen und sich betreffenden Pakete genau ansehen sollte!
# aptitude dist-upgrade
oder
$ sudo aptitude dist-upgrade
5. (optional) Paket-Cache löschen
Heruntergeladene Debian-Pakete werden im Cache-Verzeichnis
/var/cache/apt/archives abgelegt. Das ist praktisch, wenn man eine langsame Netzverbindung hat oder Pakete, beispielsweise zu Testzwecken, wiederholt neu installiert. Allerdings benötigt der Cache natürlich auch Plattenplatz. Falls man eine ständige Breitbandanbindung hat, einen lokalen Spiegelserver erreichen kann oder Plattenplatz wichtiger ist als die Zeit für das erneute Herunterladen von Paketen, empfiehlt es sich, den Paket-Cache entweder sofort oder zumindest von Zeit zu Zeit zu leeren. Auch das läßt sich über
aptitude erledigen:
# aptitude clean
oder
$ sudo aptitude clean
Zusammenfassung
In Kurzform lauten die entsprechend nötigen Aptitude-Aufrufe also wie folgt:
# aptitude update
# aptitude upgrade
# aptitude dist-upgrade
# aptitude clean
Oder, bei Verwendung von sudo:
$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo aptitude dist-upgrade
$ sudo aptitude clean