Systemupgrade über yum
Aus Fedorawiki.de
Ein Systemupgrade auf eine neue Fedora-Version ist manchmal nicht unproblematisch. Der offiziell unterstützte Weg geht dabei über Anaconda, also über die CDs bzw. die DVD. Obwohl ein Upgrade über yum oftmals funktioniert, sind Probleme dabei doch nicht ausgeschlossen. In dieser Anleitung soll einmal beispielhaft ein solches Systemupgrade von Fedora 14 auf Fedora 15 vorgeführt werden. Als Architektur wird dabei i386 verwendet. Bei x86_64 oder ppc müssen also die Downloadpfade angepasst werden. Auch sollte vorher auf den Seiten des FedoraProjektes nachgeschaut werden, ob schon Hinweise für die Aktualisierung über yum vorliegen: YumUpgradeFaq
Alle hier aufgezeigten Befehle müssen als root angewendet werden.
Inhaltsverzeichnis |
Voraussetzungen
- Eine bestehende Breitband-Internetverbindung (natürlich funktioniert es auch mit ISDN oder Modem)
- Alle benötigten Repositories müssen schon Pakete für die neue Fedora-Version bereitstellen (oder abgeschaltet werden)
- Genügend freier Speicherplatz unter /var/cache/yum/ und / (je nach Umfang mehrere GB)
Vorbereitungen
Zuerst einmal gilt es, das bisherige System aufzuräumen, um mögliche Probleme einzugrenzen.
Aktualisieren
Es sollte generell sichergestellt werden, dass alle Pakete in der aktuellsten Version vorliegen.
Das System aufräumen
Mit dem Tool package-cleanup aus dem Paket yum-utils kann das System nach Paketen durchsucht werden, die in keinem konfigurierten Repository existieren, und es meldet auch Probleme in der Paketdatenbank (wie z.B. nicht erfüllte Abhängigkeiten). Dies ist vor einem Systemupgrade sehr nützlich.
Anschließend wird nach Problemen gesucht:
Dort angezeigte Probleme sollten, wenn möglich, behoben werden. Falls das heissen sollte, ein Paket zu deinstallieren, dass eigentlich gebraucht wird, sollte man sich dessen Namen notieren, um es später wieder hinzuzufügen. Falls dabei zuviele Pakete Probleme haben oder bei einer Deinstallation das halbe System entfernt werden soll, bleibt es zu überlegen, ob das Upgrade nicht hier schon abgebrochen werden soll.
Problematisch kann es auch werden, wenn im System Pakete installiert sind, die nicht in den aktiven Repositories verfügbar sind:
Auch diese Pakete sollten evtl. entfernt werden, damit es nicht zu Paketkonflikten kommt. Falls Repositories abgeschaltet werden mussten, da sie noch keine neuen Pakete bereitstellen, kann diese Liste auch etwas umfangreicher ausfallen. Dann sollte das Upgrade evtl. verschoben werden.
Vorhandene Metadaten und Header für yum sollten auch entfernt werden, damit diese von yum komplett neu eingelesen werden und nicht Restbestände Probleme bereiten können:
Für Fedora 8: beryl ist nicht mehr Bestandteil von Fedora, nachdem es in compiz-fusion aufgegangen ist. Da noch nicht alle Pakete ein Äquivalent haben, sollte beryl vorher von Hand komplett entfernt werden:
Neue Release-Dateien installieren
Damit yum "weiß", das es auf eine neue Fedora-Version upgraden (und dementsprechend auch dessen Repositories benutzen) soll, muss das Paket fedora-release von Hand aktualisiert werden. Dies ist nicht mit yum selbst möglich. Öffnet dazu ein Terminal und loggt Euch als root ein. Anschließend müssen die Pakete fedora-release und das davon abhängende fedora-release-notes aktualisiert werden:
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/i386/os/Packages/fedora-release-15-1.noarch.rpm wget http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/i386/os/Packages/fedora-release-rawhide-15-1.noarch.rpm wget http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/i386/os/Packages/fedora-release-notes-15.0.0-1.noarch.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/x86_64/os/Packages/fedora-release-15-1.noarch.rpm wget http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/x86_64/os/Packages/fedora-release-rawhide-15-1.noarch.rpm wget http://download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/x86_64/os/Packages/fedora-release-notes-15.0.0-1.noarch.rpm
Nicht zwingend nötig, aber auch nicht schädlich, ist es, die Release-RPMs der benutzten Dritt-Repositories ebenfalls händisch zu aktualisieren. Falls das Repository seine Dateistruktur geändert hat, ist dies sogar Voraussetzung. Hier ein Beispiel für das oftmals eingesetzte RPMFUSION:
Das System aktualisieren
Nun kann das eigentliche Upgrade beginnen.
| |
Wichtig: Achtet unbedingt darauf, dass in der Datei /etc/yum.conf bei keepcache der Wert auf "1" eingestellt ist, damit die heruntergeladenen Pakete nicht gleich gelöscht werden. |
Je nach Menge der installierten Pakete kann es mehrere Minuten dauern, bis die gewohnte Aktualisierungsübersicht erscheint. Dort steht auch die Gesamtgröße der herunterzuladenen Pakete, so dass ungefähr abgeschätzt werden kann, wie lange das Upgrade dauern wird. Wenn mit y bestätigt wird, kann es losgehen.
Wenn möglich, sollten die Warnungen von yum notiert werden, so dass diese später nachkontrolliert werden können. In der Regel erscheinen diese bei neuen Einstellungsdateien unterhalb von /etc/. Ein Beispiel sieht dabei so aus:
Updating : openldap [215/902]warning: /etc/openldap/ldap.conf created as /etc/openldap/ldap.conf.rpmnew
In diesem Fall wurde die neue Version der Einrichtungsdatei für LDAP als ldap.conf.rpmnew erstellt.
Nachdem das Upgrade abgeschlossen ist, sollte vor dem Reboot sicherheitshalber noch kontrolliert werden, ob der Eintrag für den Kernel in der Datei /etc/grub.conf korrekt ist. Ist das der Fall, folgt nun der Reboot in die neue Fedora-Version.
Abschließende Arbeiten in der neuen Version
Die folgenden Arbeiten sollten noch nicht unter einer grafischen Oberfläche erfolgen. Wechselt dazu am besten mit STRG+ALT+F1 auf das erste virtuelle Terminal und meldet Euch als root an.
Falls das System einwandfrei hochgefahren ist, können die alten Kernel entfernt werden.
rpm -qa | grep kernel
Es sollte darauf geachtet werden, nicht aus Versehen den aktuellen Kernel zu deinstallieren.
Anschließend kann noch einmal nach Paketkonflikten gesucht werden:
Falls SELinux benutzt wird (Standardeinstellung) kann es evtl. zu Problemen mit den Berechtigungen kommen. Folgendes behebt dieses:
Wenn keine größeren Probleme aufgetreten sind, ist das Upgrade damit abgeschlossen. Nun kann damit begonnen werden, evtl. vorher entfernte Pakete wieder einzuspielen und sich die Dateien mit der Endung .rpmnew (und teilweise auch .rpmsave) in /etc/ und dessen Unterverzeichnisse genauer anzuschauen, damit z.B. die Serverdienste angepasst an die neuere Version laufen. Ein schnelle Übersicht liefert dabei der folgende Befehl:
find /etc/ -name "*.rpm*"
Grafische Programme zum vergleichen sind z.B. meld (Gnome) oder kdiff3/kompare (KDE). Natürlich funktioniert auch das gute alte diff im Terminal.
Siehe auch
Links
- Yum-Upgrade-FAQ im offiziellen Fedora-Projekt-Wiki (englisch)
- Upgrading Red Hat Linux/Fedora Core with yum (english)
- Systemupgrade über yum von FC6 auf F7 - Ältere Version dieses Artikels
- Systemupgrade über yum von FC4 auf FC5 - Ältere Version dieses Artikels