Home Wiki > SDB:Distribution-Upgrade
Sign up | Login

SDB:Distribution-Upgrade

tagline: Aus openSUSE

Mit dieser Anleitung wird erläutert, wie ein Distributions-Upgrade ausgeführt werden kann, um eine openSUSE Ausgabe auf die neueste Version zu aktualisieren (Upgrade).
Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png

Vorbereitung

Warnung!
  • Eine der wichtigsten Vorbereitungen, die bei tiefgreifenden Änderungen am System getroffen werden sollten, ist ein Backup der vorhandenen Daten! Sichern Sie ihre Daten, bevor das Upgrade ausgeführt wird! Schließlich kann auch bei einem Upgrade der Arbeitsumgebung mal etwas daneben gehen, ein Backup kann Sie vor einem eventuellen Datenverlust bewahren!
  • Auch sollte das betreffende System nicht schon offensichtliche Probleme aufweisen, die sich bei einem Upgrade unter Umständen nur verschlimmern würden.
  • Des weiteren aktualisieren Sie ihre openSUSE Distribution regelmäßig, um angebotene sicherheitsrelevante und der Stabilität dienliche Patches einzuspielen!
  • Achten Sie beim Ausführen des Upgrades der Arbeitsumgebung auf eventuell gemeldete Abhängigkeiten und lösen Sie diese korrekt auf, um Schäden zu vermeiden!

Distribution-Upgrade mit Zypper

Hier wird erläutert, wie mit Hilfe eines Kommandozeilen-Werkzeugs (Zypper) eine openSUSE Ausgabe auf die neueste freigegebene Version aktualisiert werden kann (Upgrade). Auf die Variante mit einem grafischen Werkzeug (YaST) wird hier nicht eingegangen, da diese Methode nicht sicher funktioniert.

Dabei sollte erwähnt sein, dass ein Live-Upgrade Vor- aber auch Nachteile haben kann.

Zu den Vorteilen zählt:

  • Sie laden nur die Pakete herunter, die auf den neuesten Stand zu bringen sind.
  • Während der Aktualisierung können Sie Ihren PC weiter benutzen (obwohl es nicht zu empfehlen ist). Die einzige Auszeit ist, während Sie einen Neustart durchführen.
  • Sie brauchen keine DVD zu verschwenden und brauchen keinen DVD-Brenner. (Sie könnten ebenso vom Netz oder einem USB-Stick booten und installieren den Rest aus dem Netz..)

Die Nachteile:

  • Wenn aus irgend einem Grund die Aktualisierung unterbrochen wird (z. B. Stromausfall, Unterbrechung des Netzwerkes) und der Prozess kann nicht fortgesetzt werden, könnten Sie vor einem zerschossenen System sitzen (das hängt natürlich davon ab, zu welchem Zeitpunkt der Prozess unterbrochen wurde).
  • Wenn Sie mehrere Systeme zu aktualisieren haben, brauchen Sie jedes Mal eine große Bandbreite. So ist es besser, ein ISO-Image herunter zu laden.
  • Eventuell ersetzt der Bootloader grub2 bei einem UEFI-BIOS das Startmenü einer anderen Distribution

Unterstützte Szenarien

Seien Sie sich bewusst, dass im Prinzip dieser Aktualisierungsprozess als der beste betrachtet wird. Das bedeutet, bezugnehmend auf einige Pakete von Drittanbietern und die unzähligen Konfigurationen, dass es möglich ist, dass Fehler während der Aktualisierung verursacht werden könnten. Es ist sehr wichtig, dass alle wichtigen Daten vorher gesichert werden, bevor mit dem Upgrade begonnen wird.

Für die folgenden Abläufe sind zwei Optionen durchführbar:

  1. Auf der Kommandozeile - Verwendung von Zypper.
  2. Mit grafischer Oberfläche – Verwendung von YaST.

Upgrade Vorbereitung

Der unterstützte Startpunkt ist die letzte openSUSE-Version mit allen Aktualisierungen. Die folgenden Schritte zeigen Ihnen, wie Sie Ihre vorhandene openSUSE-Distribution auf die neuesten Pakete aktualisieren, bevor Sie das System auf die nächste Version anheben.

Kommandozeile

1. Überprüfen des Update-Repositorys

zypper lr -uP

Prüfen Sie, ob http://download.opensuse.org/update/leap/42.1/oss/(ersetzen Sie 42.1 durch die vorhandene Version) in der URL-Spalte der Paketquellen vorhanden und aktiviert ist, siehe hier:

#  | Alias           | Name            | Enabled | Refresh | URI
---+-----------------+-----------------+---------+---------+---------------------------------------
1  | repo-update     | repo-update     | Yes     | Yes     |  http://download.opensuse.org/update/leap/42.1/oss/

Wenn in der Spalte Aktiviert Nein steht, aktivieren Sie diese unter Verwendung des folgenden Kommandos:

zypper mr -er "repo-update"

wobei 'repo-update' der Name des Update-Repositorys ist.

2. Das Update-Repository hinzufügen (nur nötig wenn nicht bereits vorhanden)

zypper addrepo --check --refresh --name 'openSUSE-Leap-42.1-Update' http://download.opensuse.org/update/leap/42.1/oss/ repo-update
Ersetzen Sie 42.1 durch Ihre Version.

3. Verschieben von /var/cache zu einem separaten Subvolume

Notiz: Wenn das root-Dateisystem nicht Btrfs ist, lassen Sie diesen Teil weg und gehen Sie weiter zu Schritt 4.

/var/cache beinhaltet viele sehr sprunghafte Daten, wie z.B. den Zypper-Cache mit RPM-Paketen in unterschiedlichen Versionen für jedes Update. Als Resultat der Datenspeicherung, was meistens redundant, aber sehr sprunghaft ist, kann die Menge an Festplattenplatz, die ein Snapshot belegt, sehr schnell wachsen.

Um dieses Problem zu beheben verschieben Sie /var/cache auf ein separates Subvolume. Bei frischen Installationen von openSUSE Leap 42.2 wird das automatisch gemacht. Für eine Konvertierung des existierenden root-Dateisystems führen Sie folgende Schritte durch:

  • Finden Sie den Geräte-Namen (z.B. /dev/sda2 oder /dev/sda3) des root-Dateisystems heraus:
df /
  • Identifizieren Sie das höhere Subvolume aller anderen Subvolumes. Für Installationen auf Basis von openSUSE 13.2 ist das ein Subvolume mit @ im Namen. Zur Überprüfung, ob Sie ein Subvolume mit @ haben, verwenden Sie:
btrfs subvolume list / | grep '@'
  • Wenn die Ausgabe von diesem Befehl leer ist, haben Sie kein Subvolume mit @ im Namen. In diesem Fall können Sie mit der Subvolume-ID 5, die in älteren Versionen von openSUSE verwendet wird, weitermachen.
  • Wenn Sie ein Subvolume mit einem @ im Namen haben, mounten Sie dieses Subvolume in einen temporären Mountpoint:
mount /dev/<root-device> -o subvol=@ /mnt
Wenn Sie kein Subvolume mit einem @ im Namen haben, mounten Sie stattdessen die Subvolume-ID 5:
mount /dev/<root-device> -o subvolid=5 /mnt
  • /mnt/var/cache kann schon existieren und könnte das gleiche Verzeichnis wie /var/cache sein. Um Datenverlust zu vermeiden, verschieben Sie dieses:
mv /mnt/var/cache /mnt/var/cache.old
  • Erstellen Sie ein neues Subvolume:
btrfs subvol create /mnt/var/cache
  • Wenn jetzt ein Verzeichnis /var/cache.old vorhanden ist, verschieben Sie dieses an den neuen Ort:
mv /var/cache.old/* /mnt/var/cache
Wenn das nicht der Fall ist, machen Sie stattdessen:
mv /var/cache/* /mnt/var/cache/
  • Optional können Sie /mnt/var/cache.old entfernen:
rm -rf /mnt/var/cache.old
  • Hängen Sie das Subvolume aus dem temporären Mountpoint aus:
umount /mnt
  • Fügen Sie einen Eintrag für das neue Subvolume /var/cache in der /etc/fstab hinzu. Verwenden Sie ein schon vorhandenes Subvolume als Template zum kopieren. Gehen Sie sicher, dass die UUID unberührt bleibt (das ist die UUID des root-Dateisystems) und ändern Sie den Namen vom Subvolume und seinem Mountpoint einheitlich zu /var/cache.
  • Mounten Sie das neue Subvolume, wie in /etc/fstab festgelegt:
mount /var/cache

4. Update des Systems auf die neuesten Pakete

zypper ref
zypper up

Weitere Informationen zum Thema Zypper-Befehle, erfahren Sie unter Zypper-Anleitung.

Upgrade ausführen

Die folgenden Schritte werden Ihnen zeigen, wie Sie Ihre openSUSE-Distribution auf die nächste Release-Version anheben (Upgrade) (z.B. 13.1 -> 13.2).

Kommandozeile

Aktualisierung von 13.1 -> 13.2:

  • Alle vorhandenen Repositorys von openSUSE 13.1 deaktivieren:
zypper mr -adR
  • Füge die neuen openSUSE 13.2 Repositorys hinzu:
zypper ar -n "openSUSE-13.2 OSS" http://download.opensuse.org/distribution/13.2/repo/oss/ repo-13.2-oss
zypper ar -n "openSUSE-13.2 Non-OSS" http://download.opensuse.org/distribution/13.2/repo/non-oss/ repo-13.2-non-oss
zypper ar -f -n "openSUSE-13.2 Updates OSS" http://download.opensuse.org/update/13.2/ repo-13.2-update-oss
zypper ar -f -n "openSUSE-13.2 Updates Non-OSS" http://download.opensuse.org/update/13.2-non-oss/ repo-13.2-update-non-oss
  • Suchen Sie für openSUSE 13.2 nach aktualisierten Paketquellen von Drittanbietern und fügen Sie diese hinzu.
Dies ist jedoch mit Vorsicht anzuwenden, da Repositorys und deren Inhalt von Drittanbietern die Gefahr bergen, dass das Aktualisieren (Upgrade) nicht korrekt abgeschlossen wird! Die Pakequellen von Drittanbietern können auch ach der Aktualisierung hinzugefügt werden.
zypper ar -n "<name>" <URL> "<alias>"

Oder wenn Sie die URL einer .repo Datei haben:

zypper ar <url.repo>
  • Nun führen Sie das vollständige Upgrade Ihrer Distribution aus:
zypper clean -a
zypper ref
zypper dup
Mit dem oberen Kommando lädt Zypper die geforderten Pakete herunter.
Führen Sie das Upgrade auch und erst recht aus, wenn vor einem offiziellen Release Beta/RC Ausgaben verwendet wurden.

Grafisches Werkzeug (YaST)

Das Distribution Upgrade kann auch grafisch via YaST mit dem Modul YaST Wagon ausgeführt werden.

Warnung!Bitte beachten Sie, dass ein Distribution-Upgrade via YaST-Wagon gegenüber dem oben beschriebenen Verfahren als weniger getestet gilt.

Hier nun die Schritt-für-Schritt-Beschreibung des Upgrades von 12.2 -> 12.3 mit YaST Wagon:

  • installieren des Modules: yast2-wagon, yast2-wagon-control-openSUSE wenn noch nicht vorhanden
  • starten des Modules: "YaST2 wagon" (via YaST Software)
  • beim Reiter: Medientyp bei der Aufforderung: URL angeben, die OSS Repository der kommenden Version: http://download.opensuse.org/distribution/12.3/repo/oss eingegeben.
  • folgend dem Dialog, wird der Reiter: Migration Repositorys
  • die weiteren Repositorys: 'Non-OSS, Update-OSS, Update-Non-OSS einfügen bzw anpassen.
  • folgenden dem Dialog, wird der Reiter: Einstellungen für die Distribution Aktualisierung geöffnet
  • Abschließende Kontrolle des nun folgenden Distribution Upgrade
  • Ausführen des Distribution Upgrade auf kommende openSUSE Ausgabe
  • Abschließend der Neustart des Systems
Zur Bildlichen Unterstützung der hier beschriebenen Schritte, siehe Infos unter YaST Wagon (Aktualisieren über Patch-CD).

Abschließende Nacharbeiten

War der Neustart erfolgreich und das System läuft, sollte nun eine abschließende Kontrolle folgen:

  • Hierzu gehört, dass alle schon vorhandenen Repositorys kontrolliert, korrigiert und gegebenenfalls noch fehlende Repositorys (z.B. OSS, Non-OSS-, Update- und weitere gegebenenfalls wichtig erscheinende zusätzliche Repositorys), ergänzt werden.
  • Eine Exkursion durch's hoffentlich fehlerfrei laufende System kann auch nicht schaden, schon allein um festzustellen, ob es hier oder da vielleicht Tools gibt, die wieder nachinstalliert werden müssen, weil diese im Zuge des System-Upgrades entfernt wurden.
Sehr wichtige Anlaufstelle für die "Nachbehandlung" der Repositorys kann der textbasierte Weg mit Zypper Anleitung sein, oder der grafische Weg mit YaST Software Repositories wo sich alle wichtige Informationen über die richtige Repositorys finden lassen.
Warnung!Es sollte bedacht werden, dass nur die wichtigsten, nötigsten, zum System passenden Repositorys Verwendung finden. Wird in Sachen Paketmanagement nicht korrekt gearbeitet, kann das schnell Auswirkungen nach sich ziehen, die nicht gewünscht sind und schlimmstenfalls sogar zu Schäden am System führen!

Externe Links

Bugs: Upgrade

Aktuell bestehende Bugs und Lösungsansätze sind auf der Seite Most annoying Bugs gelistet. Flagge-Vereinigtes Koenigreich.png

openSUSE Foren