5 Online-Upgrade #
Für das Upgrade eines laufenden Systems auf ein neues Service Pack bietet SUSE ein intuitives grafisches Werkzeug und ein einfaches Befehlszeilenwerkzeug. Beide Funktionen unterstützen das „Rollback“ von Service Packs und vieles mehr. Dieses Kapitel beschreibt Schritt für Schritt, wie Sie Service Pack-Upgrades mit diesen Werkzeugen durchführen.
5.1 Konzeptübersicht #
SUSE veröffentlicht in regelmäßigen Abständen neue Service Packs für die SUSE Linux Enterprise-Produktfamilie. Um den Kunden die Migration auf ein neues Service Pack zu erleichtern und die Ausfallzeiten so kurz wie möglich zu halten, unterstützt SUSE eine Online-Migration bei laufendem System.
Ab SLE 12 werden anstelle von YaST-Wagon die YaST-Migration (GUI) und die Zypper-Migration (Befehlszeile) verwendet. Das hat folgende Vorteile:
Das System befindet sich bis zur Aktualisierung des ersten RPM stets in einem definierten Status.
Der Vorgang kann bis zur Aktualisierung des ersten RPM jederzeit abgebrochen werden.
Unkomplizierte Wiederherstellung bei einem Fehler.
Es ist möglich, anhand von Systemwerkzeugen ein „Rollback“ durchzuführen, was eine Sicherung und Wiederherstellung überflüssig macht.
Verwendung aller aktiven Repositorys.
Möglichkeit zum Überspringen eines Service Packs
Die Online-Migration wird ausschließlich bei der Migration auf ein anderes Service Pack unterstützt. Beim Upgraden auf neue Hauptversionen wird die Online-Migration nicht unterstützt. Weitere Informationen finden Sie unter Kapitel 2, Upgrade-Pfade und -Methoden.
Upgraden Sie per Offline-Migration auf eine neue Hauptversion. Weitere Informationen finden Sie unter Kapitel 4, Offline-Upgrade.
Ein SUSE Manager-Client kann weder per YaST-Online-Migration noch per zypper migration
aufgerüstet werden. Verwenden Sie stattdessen das Verfahren zur Client Migration. Eine Beschreibung hierzu finden Sie im SUSE Manager Upgrade Guide.
5.2 Workflow der Service Pack-Migration #
Eine Service Pack-Migration kann mit YaST, zypper
oder AutoYAST ausgeführt werden.
Vor dem Start einer Service Pack-Migration muss das System beim SUSE Customer Center oder bei einem lokalen RMT-Server registriert werden. Auch SUSE Manager kann verwendet werden.
Unabhängig von der Methode besteht eine Service Pack-Migration jedoch immer aus den folgenden Schritten:
Suchen von möglichen Migrationszielen auf den registrierten Systemen
Auswahl eines Migrationsziels
Anfordern und Aktivieren neuer Repositorys
Ausführen der Migration
Die Liste der Migrationsziele ist abhängig von den installierten und registrierten Produkten. Falls Sie eine Erweiterung installiert haben, für die das neue Service Pack noch nicht zur Verfügung steht, wird Ihnen unter Umständen gar kein Migrationsziel angeboten.
Die Liste der Migrationsziele, die für Ihren Host verfügbar sind, wird immer aus dem SUSE Customer Center abgerufen und hängt von den installierten Produkten oder Erweiterungen ab.
5.3 Abbrechen einer Service Pack-Migration #
Während des Migrationsvorgangs kann eine Service Pack-Migration nur in ganz bestimmten Phasen abgebrochen werden:
Bis zum Beginn des Paketupgrades erfolgen auf dem System nur minimale Änderungen, beispielsweise für Services und Repositorys. Stellen Sie
/etc/zypp/repos.d/*
wieder her, um zum vorherigen Zustand zurückzukehren.Nach Beginn des Paketupgrades können Sie mithilfe eines Snapper-Snapshots zum vorherigen Zustand zurückkehren (siehe Kapitel 10, Systemwiederherstellung und Snapshot-Verwaltung mit Snapper).
Nach der Auswahl des Migrationsziels ändert das SUSE Customer Center die Repository-Daten. Wenn Sie diesen Zustand manuell zurücksetzen möchten, verwenden Sie
SUSEConnect
--rollback
.
5.4 Upgraden mit dem Werkzeug für die Online-Migration (YaST) #
Für eine Service Pack-Migration mit YaST verwenden Sie das Tool für die
. YaST installiert standardmäßig keine Pakete aus Repositorys von Drittanbietern. Wurde ein Paket aus einem Repository eines Drittanbieters installiert, verhindert YaST, dass das Paket durch das gleiche Paket aus SUSE ersetzt wird.Bei der Service Pack-Migration installiert YaST alle empfohlenen Pakete. Vor allem bei benutzerdefinierten Minimalinstallationen kann dies den Installationsumfang auf dem System beträchtlich erhöhen.
Möchten Sie dieses Standardverhalten ändern und nur erforderliche Pakete erlauben, passen Sie die Option solver.onlyRequires
in /etc/zypp/zypp.conf
an.
solver.onlyRequires = true
Bearbeiten Sie zusätzlich die Datei /etc/zypp/zypper.conf
und ändern Sie die Option installRecommends
.
installRecommends=false
Dadurch ändert sich das Verhalten sämtlicher Paketvorgänge, z. B. Installationen von Patches oder neuen Paketen. Mit dem Parameter --no-recommends
können Sie das Verhalten von Zypper für einen einzelnen Aufruf ändern.
Gehen Sie wie folgt vor, um die Service Pack-Migration zu starten:
Deaktivieren Sie alle nicht verwendeten Erweiterungen des Registrierungsservers, damit künftig keine Abhängigkeitskonflikte auftreten. Falls Sie eine Erweiterung übersehen, erkennt YaST später die nicht verwendeten Erweiterungs-Repositorys, die dann automatisch deaktiviert werden.
Wenn Sie bei einer GNOME-Sitzung auf dem zu aktualisierenden Computer angemeldet sind, wechseln Sie zu einer Textkonsole. Die Aktualisierung aus einer GNOME-Sitzung heraus wird nicht empfohlen. Dies gilt nicht, wenn Sie über einen Remote-Computer angemeldet sind (es sei denn, Sie führen eine VNC-Sitzung mit GNOME aus).
Führen Sie die YaST-Online-Aktualisierung aus, um die neuesten Paketaktualisierungen für Ihr System zu erhalten.
Installieren Sie das Paket yast2-migration und seine abhängigen Komponenten (in YaST unter › ).
Starten Sie YaST neu, damit das neu installierte Modul im Kontrollzentrum angezeigt wird.
Wählen Sie in YaST die Option SUSE Linux Enterprise Desktop befindet sich dieses Modul unter oder .) YaST zeigt die möglichen Migrationsziele und eine Zusammenfassung an. Falls für Ihr System mehrere Migrationsziele verfügbar sind, wählen Sie eines davon in der Liste aus.
. (Je nach der upzugradenden Version vonWählen Sie ein Migrationsziel in der Liste aus und setzen Sie den Vorgang mit
fort.Falls das Migrationstool Aktualisierungs-Repositorys anbietet, sollten Sie mit
fortfahren.Falls das Tool für die Online-Migration alte Repositorys von DVD oder einem lokalen Server findet, empfiehlt es sich dringend, diese zu deaktivieren. Veraltete Repositorys beziehen sich auf ein früheres Service Pack. Alte Repositorys vom SUSE Customer Center oder aus RMT werden automatisch entfernt.
Wenn der Registrierungsserver keine Migrationen für ein Modul oder eine Erweiterung anbietet, bleibt seine Repository-Konfiguration unverändert. Dies geschieht in der Regel bei Repositorys von Drittanbietern wie dem
, die nicht an eine Produktversion oder ein Service Pack gebunden sind. Falls erforderlich, können Sie die Repository-Konfiguration nach der Migration manuell überprüfen.Prüfen Sie die Zusammenfassung und klicken Sie dann auf
, um mit der Migration fortzufahren. Bestätigen Sie die Migration mit .Starten Sie Ihr System nach einer erfolgreichen Migration neu.
5.5 Upgraden mit zypper #
Für eine Service Pack-Migration mit verwenden Sie das Kommandozeilenwerkzeug zypper
migration
zypper im Paket zypper-migration-plugin.
Bei der Service Pack-Migration installiert YaST alle empfohlenen Pakete. Vor allem bei benutzerdefinierten Minimalinstallationen kann dies den Installationsumfang auf dem System beträchtlich erhöhen.
Möchten Sie dieses Standardverhalten ändern und nur erforderliche Pakete erlauben, passen Sie die Option solver.onlyRequires
in /etc/zypp/zypp.conf
an.
solver.onlyRequires = true
Bearbeiten Sie zusätzlich die Datei /etc/zypp/zypper.conf
und ändern Sie die Option installRecommends
.
installRecommends=false
Dadurch ändert sich das Verhalten sämtlicher Paketvorgänge, z. B. Installationen von Patches oder neuen Paketen. Mit dem Parameter --no-recommends
können Sie das Verhalten von Zypper für einen einzelnen Aufruf ändern.
Gehen Sie wie folgt vor, um die Service Pack-Migration zu starten:
Wenn Sie bei einer GNOME-Sitzung auf dem zu aktualisierenden Computer angemeldet sind, wechseln Sie zu einer Textkonsole. Die Aktualisierung aus einer GNOME-Sitzung heraus wird nicht empfohlen. Dies gilt nicht, wenn Sie über einen Remote-Computer angemeldet sind (es sei denn, Sie führen eine VNC-Sitzung mit GNOME aus).
Falls noch nicht erfolgt, registrieren Sie Ihren SUSE Linux Enterprise-Rechner:
>
sudo
SUSEConnect
--regcode YOUR_REGISTRATION_CODEMigration starten:
>
sudo
zypper migration
Beachten Sie folgende Hinweise zum Migrationsvorgang:
Falls für Ihr System mehrere Migrationsziele verfügbar sind, können Sie in Zypper einen SP in der Liste auswählen. Dies entspricht dem Überspringen eines oder mehrerer SPs. Denken Sie daran, dass die Online-Migration für Basisprodukte (SLES, SLED) nur zwischen den SPs einer Hauptversion verfügbar ist.
Zypper verwendet standardmäßig die Option
--no-allow-vendor-change
, die anzypper
dup
weitergeleitet wird. Wurde ein Paket aus einem Repository eines Drittanbieters installiert, verhindert diese Option, dass das Paket durch das gleiche Paket aus SUSE ersetzt wird.Falls Zypper alte Repositorys von DVD oder einem lokalen Server findet, empfiehlt es sich dringend, diese zu deaktivieren. Alte SUSE Customer Center- oder RMT-Repository werden automatisch entfernt.
Prüfen Sie alle Änderungen, insbesondere die Pakete, die entfernt werden. Geben Sie
y
ein, um fortzufahren (die Anzahl der Pakete, die aktualisiert werden können, ist von System zu System unterschiedlich):266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch. Overall download size: 285.1 MiB. Already cached: 0 B After the operation, additional 139.8 MiB will be used. Continue? [y/n/? shows all options] (y):
Verwenden Sie zum Blättern in Ihrer Shell die Tasten Umschalttaste–Bild ↑ oder Umschalttaste–Bild ↓.
Starten Sie Ihr System nach einer erfolgreichen Migration neu.
5.6 Upgraden mit einfachem Zypper #
Falls Ihr System nicht registriert ist, weil Sie keinen Zugriff auf das Internet oder einen Registrierungsserver haben, ist die Migration zu einem neuen Service Pack mit YaST Migration oder zypper migration
nicht möglich. In diesem Fall können Sie mit Zypper und einigen manuellen Interaktionen trotzdem zu einem neuen Service Pack migrieren.
Dieser Migrationspfad zu einem neuen Service Pack wird nur für nicht registrierte Systeme unterstützt, die keinen Zugriff auf das Internet oder einen Registrierungsserver haben. Dies ist möglicherweise bei Rechnern in einem speziell geschützten Netzwerk der Fall. Ein registriertes System können Sie mit YaST oder Zypper migrieren.
Dieser Migrationspfad setzt voraus, dass das System, das Sie migrieren möchten, Zugriff auf die Installationsquellen hat. Dies kann beispielsweise durch die Einrichtung eines RMT-Servers oder eines SLP-Servers geschehen.
Das System muss zudem Zugriff auf ein aktuelles Aktualisierungs-Repository für die installierte Produktversion haben.
Wenn Sie bei einer Grafiksitzung auf dem zu migrierenden Rechner angemeldet sind, müssen Sie sich von dieser Sitzung abmelden und zu einer Textkonsole wechseln. Von der Aktualisierung aus einer Grafiksitzung heraus wird abgeraten. Dies gilt nicht, wenn Sie über einen Remote-Computer angemeldet sind (es sei denn, Sie führen eine VNC-Sitzung mit X aus).
Aktualisieren Sie die Paketverwaltungstools mit den alten SUSE Linux Enterprise-Repositorys:
>
sudo
zypper
patch --updatestack-onlyRufen Sie eine Liste der Pakete ab, denen aktuell kein Repository zugewiesen ist (verwaiste Pakete). Diese Pakete werden nicht migriert, und ihre Funktionstüchtigkeit nach der Migration kann nicht garantiert werden, weil andere Pakete, auf die sie sich verlassen, möglicherweise so verändert wurden, dass sie nicht mehr kompatibel sind. Rufen Sie die Liste ab mit:
>
sudo
zypper packages --orphanedGehen Sie die Liste sorgfältig durch und entfernen Sie alle verwaisten Pakete, die nicht mehr benötigt werden. Machen Sie sich eine Notiz zu allen verbleibenden verwaisten Pakete. Sie benötigen Sie später zu Vergleichszwecken.
Rufen Sie eine Liste aller Repositorys ab, die das System aktuell abonniert hat. Führen Sie dazu folgendes Kommando aus:
>
sudo
zypper repos -uAktualisieren Sie die einzelnen Repository-URLs so, dass ihre Produktversionsnummer
15-SP5
lautet. Wenn die URL eines Repositorys beispielsweise so aussiehthttp://rmt.example.com/repo/SUSE/Products/SLE-15-SP2-Product-SLES/x86_64/product/
ändern Sie sie zu
http://rmt.example.com/repo/SUSE/Products/SLE-15-SP3-Product-SLES/x86_64/product/
Dies muss bei allen aktivierten Repositorys erfolgen. Sie könnten dies auch für Repositorys tun, die derzeit deaktiviert sind. Dadurch werden falsche Installationsquellen im System verhindert, wenn diese Repositorys zu einem späteren Zeitpunkt aktiviert werden.
Zum Ändern der Repository-URLs stehen Ihnen folgende Optionen zur Verfügung:
Verwenden von zypper. Entfernen Sie das alte Repository mit
>
sudo
zypper removerepo OLD_REPO_IDFügen Sie dann das entsprechende neue Repository hinzu mit
>
sudo
zypper addrepo -f URL NAME-15-SP5Bearbeiten von Repository-Konfigurationsdateien in
/etc/zypp/repos.d
. Jedes Repository wird durch eine Konfigurationsdatei dargestellt. Der Wert für den Parameterbaseurl
muss in jeder Datei geändert werden.
Prüfen Sie Ihre Änderungen durch Ausführen von
zypper repos -u
und aktualisieren Sie die Repositorys mit folgendem Kommando:>
sudo
zypper refresh -f -sFalls ein Repository nicht aktualisiert werden kann, prüfen Sie nach, ob Sie die falsche URL eingegeben haben. Wenn das Problem nicht behoben werden kann, empfiehlt es sich, das fehlerhafte Repository zu deaktivieren.
Wenn alle Repositorys korrekt konfiguriert sind, führen Sie folgendes Kommando erneut aus:
>
sudo
zypper refresh -f -sDamit stellen Sie sicher, dass alle Repositorys aktuell sind.
Vor dem Start der Migration sollte ein Testlauf durchgeführt werden:
>
sudo
zypper dup -D --no-allow-vendor-change --no-recommendsMit dem Parameter
-D
wird ein Probelauf durchgeführt, der die Migration simuliert, ohne das System tatsächlich zu ändern. Falls Probleme auftreten, sollten sie behoben werden, bevor Sie fortfahren. Falls der Testlauf erfolgreich ist, führen Sie die echte Migration mit folgendem Kommando durch:>
sudo
zypper dup --no-allow-vendor-change --no-recommends-no-allow-vendor-change
stellt sicher, dass Drittanbieter-RPMs nicht die RPMs des Basissystems überschreiben. Durch die Option--no-recommends
wird sichergestellt, dass Pakete, die während der Erstinstallation abgewählt wurden, nicht erneut hinzugefügt werden.Führen Sie nach Abschluss der Migration und dem Booten des Systems in der neuen Service Pack-Version die Prüfung nach verwaisten Paketen erneut aus:
>
sudo
zypper packages --orphanedVergleichen Sie die neue Liste mit der Liste, die Sie vor Beginn der Migration generiert haben. Falls neue Pakete in der Liste auftauchen, liegt es womöglich daran, dass sie zu einem anderen Modul im neuen Service Pack verschoben wurden. Falls dieses Modul in der früheren Installation nicht enthalten war, konnte das Paket nicht aktualisiert werden.
Unter https://scc.suse.com/packages können Sie prüfen, zu welchem Modul ein Paket gehört. Fügen Sie die fehlenden Module mit
zypper addrepo
oder dem Modul „YaST Software Repositories“ hinzu und aktualisieren Sie danach die verwaisten Pakete mit dem Kommando:>
sudo
zypper install --no-recommends LIST OF PACKAGESDie Migration zu einem neuen Service Pack ist abgeschlossen.
5.7 Rollback eines Service Packs #
Falls ein Service Pack nicht ordnungsgemäß ausgeführt wurde, unterstützt SUSE Linux Enterprise die Zurücksetzung des Systems auf den Zustand vor Beginn der Service Pack-Migration. Voraussetzung hierfür ist eine Btrfs-root-Partition mit aktivierten Snapshots (Standard seit SLES 12). Ausführliche Informationen finden Sie unter Kapitel 10, Systemwiederherstellung und Snapshot-Verwaltung mit Snapper.
Rufen Sie eine Liste sämtlicher Snapper-Snapshots ab:
>
sudo
snapper listSuchen Sie in der Ausgabe nach dem Snapshot, der unmittelbar vor Beginn der Service Pack-Migration gestartet wurde. Die Spalte
zeigt eine zugehörige Erläuterung und der Snapshot wird in der Spalteimportant
Benutzerdaten gekennzeichnet. Notieren Sie die Snapshot-Nummer in der Spalte und das entsprechende Datum in der Spalte .Booten Sie das System neu. Wählen Sie im Bootmenü die Option 15 SP5 beginnt, und booten Sie ihn.
und wählen Sie den Snapshot mit dem notierten Datum und der Nummer aus dem vorangegangenen Schritt aus. Ein zweites Bootmenü (das Bootmenü aus dem Snapshot) wird geladen. Wählen Sie den Eintrag aus, der mit SLESDas System bootet im vorherigen Zustand, wobei die Systempartition schreibgeschützt eingehängt ist. Melden Sie sich als
root
an und prüfen Sie, ob Sie den richtigen Snapshot ausgewählt haben. Prüfen Sie außerdem, ob alle Vorgänge wie erwartet ablaufen. Beachten Sie, dass der Funktionsumfang ggf. eingeschränkt ist, da das root-Dateisystem schreibgeschützt eingehängt wurde.Falls Probleme auftreten oder Sie den falschen Snapshot gebootet haben, booten Sie das System neu und wählen Sie einen anderen Snapshot zum Booten aus. Bis zu diesem Zeitpunkt wurden noch keine permanenten Änderungen vorgenommen. Falls der richtige Snapshot ausgewählt wurde und dieser Snapshot einwandfrei arbeitet, lassen Sie die Änderungen mit dem folgenden Befehl dauerhaft in Kraft treten:
>
sudo
snapper rollbackDen Computer neu booten. Wählen Sie im Bootbildschirm den Standard-Booteintrag. Das neu eingesetzte System wird erneut gebootet.
Prüfen Sie, ob die Repository-Konfiguration ordnungsgemäß zurückgesetzt wurde. Prüfen Sie außerdem, ob alle Produkte fehlerfrei registriert wurden. Falls eine dieser Bedingungen nicht erfüllt ist, kann das System später eventuell nicht mehr aktualisiert werden oder das System wird mit den falschen Paket-Repositorys aktualisiert.
Prüfen Sie vor Beginn dieses Verfahrens, ob das System auf das Internet zugreifen kann.
Aktualisieren Sie die Dienste und Repositorys mit
>
sudo
zypper ref -fsErstellen Sie eine Liste der aktiven Repositorys mit
>
sudo
zypper lrPrüfen Sie die Ausgabe dieses Befehls sorgfältig. Es sollten keine Dienste und Repositorys aufgelistet werden, die für die Aktualisierung eingefügt wurden. Bei einem Rollback von 5 auf muss die Liste beispielsweise die
SLES15-GA
SLES15-GA-Repositorys enthalten, also nicht dieSLES15-SP5
SLES15-SP-Repositorys.Falls falsche Repositorys aufgelistet werden, löschen Sie diese Repositorys und ersetzen Sie sie ggf. durch die richtigen Versionen für die Produkt- oder Service Pack-Version. Eine Liste der Repositorys für die unterstützten Migrationspfade finden Sie unter Abschnitt 1.3, „Abhängigkeiten und Lebenszyklen von Modulen“. (Beachten Sie, dass kein manuelles Eingreifen erforderlich sein sollte, da die Repositorys automatisch aktualisiert werden sollten. Als bewährte Vorgehensweise sollten sie jedoch überprüft und notwendige Korrekturen vorgenommen werden.)
Prüfen Sie abschließend den Registrierungsstatus aller installierten Produkte mit
>
sudo
SUSEConnect --statusAlle Produkte sollten als
Registered
aufgeführt werden. Ist dies nicht der Fall, reparieren Sie die Registrierung mit>
sudo
SUSEConnect --rollback
Damit haben Sie das System wieder auf den Zustand zurückgesetzt, der vor Beginn der Service Pack-Migration vorlag.
5.8 Upgraden mit SUSE Manager #
SUSE Manager ist eine Serverlösung für die Bereitstellung von Aktualisierungen, Patches und Sicherheitsreparaturen für SUSE Linux Enterprise-Clients. Hier finden Sie eine Reihe von Werkzeugen und eine webgestützte Bedienoberfläche für Verwaltungsaufgaben. Weitere Informationen zu SUSE Manager finden Sie unter https://www.suse.com/products/suse-manager/.
Bei der SP-Migration können Sie von einem bestimmten Service Pack (SP) auf ein anderes in derselben Hauptversion migrieren (z. B. von SLES 15 GA auf 15 SP5).
Wenn Ihr Rechner mit SUSE Manager verwaltet wird, aktualisieren Sie das Programm entsprechend der Beschreibung in der Dokumentation zu SUSE Manager. Das Verfahren zur Client Migration ist im SUSE Manager Upgrade Guide beschrieben, das unter https://documentation.suse.com/suma/ verfügbar ist.