Für das Upgrade auf einen neuen Service Pack stehen in SUSE ein grafisches Tool und ein Kommandozeilenwerkzeug zur Verfügung. Diese sind einfache Kommandozeilenwerkzeuge, eine intuitive grafische Benutzeroberfläche, Unterstützung für das „Rollback“ von Service Packs und dergleichen mehr. In diesem Kapitel wird die Ausführung einer Service Pack-Migration mit diesen Tools Schritt für Schritt erläutert.
SUSE veröffentlicht in regelmäßigen Abständen neue Service Packs für die SUSE Linux Enterprise-Produktfamilie. Um den Kunden die Migration auf einen neuen 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 SP2 werden anstelle von YaST-Wagon die YaST-Migration (GUI) und die Zypper-Migration (Kommandozeile) verwendet. Folgende Funktionen werden unterstützt:
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
„Rollback“ über Systemtools; keine Sicherung/Wiederherstellung erforderlich
Verwendung aller aktiven Repositorys
Möglichkeit zum Überspringen eines Service Packs
SUSE unterstützt folgende Szenarios (offline oder online):
SUSE Customer Center (SCC), Subscription Management Tool (SMT), SUSE Manager
Boot-DVD, Flash-Laufwerk, ISO-Image, AutoYaST, „reines RPM“ und Drittanbieter-Tools
Migrationen aus folgenden Versionen werden unterstützt:
SUSE Linux Enterprise 12
SUSE Linux Enterprise 11 SP3/SP4, SUSE Linux Enterprise 12
SUSE Linux Enterprise 12
Eine Service Pack-Migration kann mit YaST, zypper oder AutoYAST ausgeführt werden.
Vor dem Beginn einer Service Pack-Migration muss das System beim SUSE Customer Center registriert werden. Eine Migration kann nicht mit selbsterstellenden Repositorys, die von DVDs abgeleitet werden, durchgeführt 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.
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 6, 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.
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 SP-Migration installiert YaST alle empfohlenen Pakete. Vor allem bei benutzerdefinierten Minimalinstallationen kann dies den Installationsumfang auf dem System beträchtlich erhöhen.
Sie können dieses Standardverhalten ändern und dafür sorgen, dass nur erforderliche Pakete installiert werden, indem Sie /etc/zypp/zypp.conf anpassen und die folgende Variable festlegen:
solver.onlyRequires = true installRecommends=false # or commented
Dadurch ändert sich das Verhalten sämtlicher Paketvorgänge, z. B. Installationen von Patches oder neuen Paketen.
Gehen Sie wie folgt vor, um die Service Pack-Migration zu starten:
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.
Starten Sie in YaST › . 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.
Wä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. Alte Repositorys stammen aus einem früheren SP. Alle alten Repositorys aus SCC oder SMT werden automatisch entfernt.
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.
Für eine Service Pack-Migration mit Zypper verwenden Sie das Kommandozeilenwerkzeug zypper migration.
Bei der SP-Migration installiert YaST alle empfohlenen Pakete. Vor allem bei benutzerdefinierten Minimalinstallationen kann dies den Installationsumfang auf dem System beträchtlich erhöhen.
Sie können dieses Standardverhalten ändern und dafür sorgen, dass nur erforderliche Pakete installiert werden, indem Sie /etc/zypp/zypp.conf anpassen und die folgende Variable festlegen:
solver.onlyRequires = true installRecommends=false # or commented
Dadurch ändert sich das Verhalten sämtlicher Paketvorgänge, z. B. Installationen von Patches oder neuen Paketen. Wenn Sie das Verhalten von Zypper für einen einzelnen Aufruf ändern möchten, fügen Sie in Ihrer Kommandozeile den Parameter --no-recommends hinzu.
Gehen Sie wie folgt vor, um die Service Pack-Migration zu starten:
Falls noch nicht erfolgt, registrieren Sie Ihren SUSE Linux Enterprise-Rechner:
root #SUSEConnect--regcode YOUR_REGISTRATION_CODE
Installieren Sie die neuesten Aktualisierungen:
root #zypperpatch
Installieren Sie die Pakete zypper-migration-plugin und ihre Abhängigkeiten:
root #zyppermigration
Führen Sie zypper migration aus:
root #zyppermigration Executing 'zypper patch-check' Refreshing service 'SUSE_Linux_Enterprise_Server_12_x86_64'. Loading repository data... Reading installed packages... 0 patches needed (0 security patches) Available migrations: 1 | SUSE Linux Enterprise Server 12 SP1 x86_64 2 | SUSE Linux Enterprise Server 12 SP2 x86_64
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 an zypper 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 SCC- oder SMT-Repositorys 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.
Wenn Sie die YaST-Migration oder die Zypper-Migration nicht verwenden können, haben Sie die Möglichkeit, die Migration mit einer einfachen Zypper-Version (Plain Zypper) und einigen manuellen Interaktionen durchzuführen. Gehen Sie wie folgt vor, um eine Service Pack-Migration zu starten:
Aktualisieren Sie die Paketverwaltungstools mit den alten SUSE Linux Enterprise-Repositorys:
root #zypperpatch--updatestack-only
Wenn das System registriert wurde, muss seine Registrierung aufgehoben werden:
root #SUSEConnect--de-register
Entfernen Sie die alten Installationsquellen und Repositorys und passen Sie die Repositorys von Drittanbietern an.
Fügen Sie die neuen Installationsquellen hinzu (lokale Quellen oder Remote-Quellen):
root #zypperaddrepo REPOSITORY
Sie können auch das SUSE Customer Center oder das Subscription Management Tool verwenden. Das Kommando für SUSE Linux Enterprise 12 SP1 unter x86-64 lautet wie folgt:
root #SUSEConnect-p SLES/12.2/x86_64 OPTIONS
Schließen Sie die Migration ab:
root #zypperref -f -sroot #zypperdup --no-allow-vendor-change --no-recommends
Das erste Kommando aktualisiert alle Services und Repositorys. Das zweite Kommando führt ein Distributionsupgrade durch. Hier sind die beiden letzten Optionen wichtig: -no-allow-vendor-change stellt sicher, dass RPMs von Drittanbietern keine RPMs aus dem Basissystem überschreiben. Die Option --no-recommends sorgt dafür, dass Pakete, die während der Erstinstallation abgewählt wurden, nicht erneut hinzugefügt werden.
Für eine manuelle Migration oder eine Migration mit eigenen Skripten ist eine profunde Kenntnis der Systemkomponenten erforderlich. Daher ist das folgende Verfahren nur für Experten geeignet.
Gehen Sie wie folgt vor, um Ihr System manuell zu migrieren:
Bereiten Sie Ihr System vor:
Heben Sie die Registrierung Ihres aktuellen Systems in SCC auf:
root #SUSEConnect--de-register
Deaktivieren Sie alte Installationsquellen, die von einer DVD stammen. Prüfen Sie beispielsweise /etc/zypp/repos.d/SLES12-12-0.repo.
Suchen Sie nach Repositorys von Drittanbietern und passen Sie die URL an.
Entscheiden Sie, ob Sie Remote-Repositorys über das SUSE Customer Center oder lokale Repositorys hinzufügen möchten:
Fügen Sie über den Online-Kanal neue Installationsquellen hinzu:
root #SUSEConnect-p SLES/12.2/x86_64 -r CODE -e EMAIL
Prüfen Sie, ob das System ordnungsgemäß registriert ist:
root #SUSEConnect--status
Fügen Sie eine lokale Installationsquelle hinzu:
root #zypperar -f http://example.com/media/SLES12SP1/root #zypperar dvd:///?devices=/dev/sr0 SLES12SP1
Aktualisieren Sie alle Repositorys:
root #zypper--releasever 12.2 ref -f -s
Führen Sie das Distributionsupgrade mit zypper dup durch:
root #zypper--releasever 12.2 dup --no-allow-vendor-change --recommends
Falls noch nicht erfolgt, registrieren Sie das System.
Prüfen Sie, ob das System ordnungsgemäß registriert wurde:
root #SUSEConnect--status
Falls ein Service Pack nicht ordnungsgemäß ausgeführt wurde, unterstützt SUSE Linux Enterprise die Zurücksetzung auf den Zustand vor Beginn der Service Pack-Migration.
Rufen Sie eine Liste sämtlicher Snapper-Snapshots ab:
root #snapperlist
Prüfen Sie die Ausgabe und wählen Sie für den nächsten Schritt eine Nummer aus. Ausführliche Informationen zu Snapper finden Sie im Kapitel 6, Systemwiederherstellung und Snapshot-Verwaltung mit Snapper.
Wählen Sie einen Snapper-Snapshot für das Rollback aus. Geben Sie die Nummer aus dem vorherigen Schritt an:
root #snapperrollback NUMBER
Stellen Sie den Bootloader wieder her (ausführliche Informationen hierzu finden Sie im Kapitel 12, Der Bootloader GRUB 2):
root #grub2boot menu
Die Registrierung wird während des Bootvorgangs automatisch zurückgesetzt.
Prüfen Sie, ob das System ordnungsgemäß registriert wurde (weitere Informationen finden Sie in Abschnitt 14.10, „Registrieren des Systems“):
root #SUSEConnect--status
Falls erforderlich, reparieren Sie die Registrierung:
root #SUSEConnect--rollback