titel.jpg

Alles neu macht der Mai

Distributions-Updates

01.04.2001
"Never change a running system." Das ist die Standard-Warnung des konservativen und Update-geschädigten Systemadministrators, der zu häufig erleben musste, wie nach einem Update nichts mehr wie vorher war… In einer Mini-Serie werfen wir einen Blick auf die Update-Mechanismen gängiger Linux-Distributionen – zum Auftakt: SuSE Linux.

Schon das Updaten einzelner Programme kann eine Kunst für sich sein, verlangen doch die neuen Pakete in der Regel auch neue Libraries. Reizvoll ist hier der Gedanke, den individuellen Update-Problemen zu entfliehen, indem gleich die ganze Distribution auf den neuen Stand gebracht wird. Die "Großen" wie SuSE und Red Hat bietet daher auch eine Installation im Update-Modus an, wobei die bestehende Konfiguration und die privaten Nutzerdaten erhalten bleiben. Zusätzlich installierte Software, die nicht Teil der Distribution ist, sollte dabei nicht angerührt werden; alle Pakete, die in neuer Form vorhanden sind, sollten automatisch ausgetauscht werden; ebenso natürlich das Basispaket inklusive Kernel.

Wir haben uns die Update-Prozeduren von SuSE, Red Hat und Debian angesehen; die Berichte zu Red Hat und Debian finden Sie in den folgenden Ausgaben.

SuSE Linux

Für unseren Update-Test haben wir zunächst das ältere SuSE Linux 6.2 auf einem Testrechner in der Konfiguration "KDE Workstation" installiert und dort einige Änderungen durchgeführt. Anschließend musste die Update-Routine von SuSE 7.1 zeigen, wie sie mit der Situation umgeht.

Änderungen, die wir vorgenommen haben, waren:

  • Die Sendmail-Konfiguration (sendmail.cf) wurde angepasst (ein Relay Host wurde eingetragen).
  • Die Dienste telnet und ftp wurden in der inetd.conf abgeschaltet.
  • Ein lokaler Benutzer wurde angelegt.

Zum Update starten Sie unter SuSE 7.1 ganz normal von der ersten CD oder der DVD, nach Auswahl der Sprache und Tastenbelegung wählen Sie dann den Menüpunkt Update eines bestehenden Systems (Abbildung 1). Darauf sucht YaST 2 nach möglichen Root-Partitionen; wählen Sie die Root-Partition der alten SuSE-Installation aus.

Abbildung 1: Update eines bestehenden Systems

YaST schlägt nun die Erstellung eines Backups in /var/adm/backup vor – das kann hilfreich sein, wenn Sie später gelöschte Dateien wieder finden wollen. Hier werden aber nur Konfigurationsdateien gesichert. Um nur die vorhandenen Pakete zu aktualisieren, übernehmen Sie die Voreinstellung Nur installierte Programme aktualisieren. YaST überprüft dann die installierten Pakete und zeigt an, was es aktualisieren wird. Dabei müssen einige Pakete (in der Regel solche, bei denen die Versionsnumerierung geändert wurde, so dass neue Pakete nun eine kleinere Nummer haben als alte) von Hand ausgewählt werden. Schauen Sie sich die Liste an; Sie können alle aktualisieren, indem Sie Alle updaten anklicken. YaST überprüft auch alle Abhängigkeiten und fordert Sie auf, zusätzlich benötigte Pakete zu installieren; im Beispiel-Update von SuSE 6.2 auf 7.1 wurde hier Qt 2.0 verlangt.

Nach der Kernel-Auswahl erscheint ein letzter Dialog, in dem Sie das Update bestätigen müssen – dann geht es los. Die Aktualisierung von 673 RPM-Paketen dauert ihre Zeit; trotz schneller DVD-Quelle war dieser Vorgang erst nach ca. 100 Minuten abgeschlossen. Danach wird das neue System gestartet, um das Update abzuschließen.

Test bestanden: Das neue System ließ sich problemlos booten, und die beiden geänderten Konfigurationsdateien (inetd.conf und sendmail.cf) waren im Ursprungszustand. Die mit den neuen Paketen installierten Dateien waren als inetd.conf.rpmnew und sendmail.cf verfügbar.

Was nach dem Update nicht mehr funktionierte, war die Netzwerkkarte. Dies hatte zwei Gründe:

  • Zum einen verwendet Kernel 2.4.x eine Modul-Konfigurationsdatei namens /etc/modules.conf, während Kernel 2.2.x hier conf.modules erwartet. Die alte conf.modules wurde in conf.modules.rpmsave umbenannt; modules.conf ist nun aber die Standard-Datei ohne den notwendigen Alias-Eintrag.
  • Erschwerend kommt hinzu, dass der benötigte Treiber umbenannt wurde: In Kernel 2.2 hieß er noch rtl8139, in Kernel 2.4 heißt er 8139too. Es waren also zwei Schritte notwendig, um die Karte wieder zum Leben zu erwecken: Kopieren der conf.modules.rpmsave nach modules.conf und ändern der Zeile "alias eth0 rtl8139" in "alias eth0 8139too". Während der erste Schritt generell beim Kernel-Update auf 2.4 notwendig ist, dürften wir mit der Treiberumbenennung für unsere spezielle Karte "Pech" gehabt haben.

SuSE Linux 6.2 wird mit KDE 1.x ausgeliefert, während Version 7.1 das neuere KDE 2.0 enthält. Obwohl bei SuSE 6.2 alle KDE-Pakete installiert wurden, führte der Update-Prozess nicht zu einer funktionsfähigen KDE-2-Installation. Erst ein nachträgliches

rpm -Uvh --nodeps --force *.rpm

im Verzeichnis suse/k2de1 führte zum erfolgreichen Start von KDE 2. Das System war allerdings auch vorher noch benutzbar, da die wesentlichen KDE-1-Pakete noch funktionierten.

Der Update-Vorgang hatte hier also schon bei einem nahezu unveränderten Grundsystem einige Schwierigkeiten: Von problemlosen Updates kann also keine Rede sein. In vielen Fällen dürfte es daher günstiger sein, die privaten Anwender-Daten (das Home-Verzeichnis) zu sichern und eine komplette Neu-Installation durchzuführen.

Mehr Updates

In der nächsten LinuxUser-Ausgabe betrachten wir Updates unter Red Hat Linux, inklusive Cross-Updates auf Mandrake Linux; im darauf folgenden Heft geht es dann um Debian Linux.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare