Update eines Ubuntu Servers

Aus HackerWiki

Contents

Einleitung

Im folgenden wird kurz beschrieben, welche Schritte notwendig sind um einen Server mit Ubuntu auf ein aktuelleres Release zu updaten. Es wird dabei davon ausgegangen, dass nur Remote-Zugriff besteht, wie es z.B. bei vielen Rootservern ohne serielle Konsole der Fall ist.

Aktualisierung der Software

Zuerst einmal müssen wir die Datei /etc/apt/sources.list anpassen. Dort ändern wir einfach den Namen des momentan installierten Release auf das, worauf wir aktualisieren wollen. Es wird empfohlen keine stable-Release-Version zu überspringen. D.h., dass man z.B. kein Hoary auf ein Dapper updaten sollte, sondern vorher einen Zwischenschritt über Breezy macht.

Nachdem wir die sources.list angepasst haben, führen wir nun ein dist-upgrade aus:

bash# apt-get update
bash# apt-get dist-upgrade

Die Fragen der Installer sind natürlich passend zu beantworten. Um sicherzustellen, dass auch wirklich alles funktioniert hat, sollten wir nun noch ein

bash# apt-get -f install

ausführen. Nur, wenn dieses meldet, dass alles o.k. ist und keine weiteren Pakete installieren oder deinstallieren will, können wir beim nächsten Abschnitt weiter machen. Installiert oder deinstalliert dieser Befehl weitere Pakete, ist danach ein erneutes

bash# apt-get dist-upgrade

notwendig. Und auch hier sollte wieder mit

bash# apt-get -f install

überprüft werden, ob diesmal alles problemlos lief. Diese Prozedur ist so lange zu wiederholen, bis beide Befehle keine Pakete mehr installieren oder deinstallieren wollen und keine Fehler mehr melden.

Überprüfung der essentiellen Konfigurationen

Nun sollten wir sicherstellen, dass alle Konfigurationen auch stimmen und der Server nicht wegen eines Konfigurationsfehlers Probleme beim Booten bekommt. Zuerst widmen wir uns dem Bootloader und schauen in der Datei /boot/grub/menu.lst nach, ob dort der neue Kernel, der beim Upgrade installiert wurde, auch korrekt eingetragen und als Default eingestellt ist. Weiterhin sollte man die Module in der /etc/mkinitrd/modules überprüfen und zur Sicherheit eine neue initrd für den neuen Kernel erstellen. In dieser sollten unbedingt alle notwendigen Module für Festplatten-Controller, Dateisystem und Netzwerk enthalten sein. Ausserdem sollte man überprüfen, dass der /System.map-Link auf die neue Version der System.map im /boot-Verzeichnis verweist und auch die /initrd.img auf die soeben erstellte initrd zeigt.

Als nächstes sollten die Netzwerk-Konfigurationen geprüft werden, die in /etc/network/ zu finden sind. Idealerweise fügt man das Netzwerkmodul zur Sicherheit in die initrd ein.

Zu guter Letzt stellen wir mit einem Runlevel-Editor (z.B. rcconf) sicher, dass alle notwendigen Dienste gestartet werden. Ist das erledigt, können wir uns an den ersten Reboot wagen.

Achtung: Sollte man Änderungen an system-essentiellen Dateien und Diensten wie z.B. Einrichtung eines andere getty oder Änderungen an Konfigurationen, die vor dem Login eingelesen werden, gemacht haben, sollte man überprüfen, ob alle Voraussetzungen für die geänderten Konfigurationen nach dem Upgrade noch gegeben sind. (z.B. nachsehen, ob das entsprechende getty noch installiert ist, Programme die im Cron waren auf ihr Vorhandensein prüfen usw.).

Nachwort

Wenn das alles erledigt ist, können wir einen ersten Reboot wagen. Zumindest sollte es bis zum Remote-Login im neuen System keine Probleme mehr geben. Eine Fehlerüberprüfung des Systems ist aber dennoch anzuraten. Dazu einfach mal alle Logdateien auf auftretende Fehler beim und nach dem Booten überprüfen und diese falls notwendig beheben.


bitmuncher 21:44, 12. Jun 2006 (CEST)

Persönliche Werkzeuge