Leap bedeutet auf deutsch Sprung, und einen solchen Sprung macht openSUSE Leap jedes Jahr. Dabei gibt es größere Sprünge wie von 42.3 nach 15.0 und kleinere Sprünge, wie von 15.0 nach 15.1.
Während andere Distributionen "Long Term Support" Versionen anbieten, die 5 Jahre gewartet werden, ist dies bei openSUSE nicht der Fall. Das hat sicher Nachteile, bringt aber auch Vorteile mit sich.
Auf der Negativliste sehe ich:
- Du musst dich einmal jährlich um das Upgrade kümmern, denn das läuft nicht automatisch ab.
Und auf der Plus-Seite:
- Du machst einmal im Jahr "Hausputz", denn das ist eine gute Gelegenheit, auch mal wieder aufzuräumen.
- Innerhalb des Jahres hast du eine hohe Stabilität, denn es werden nur Fehlerkorrekturen und Sicherheitspatches eingebracht, aber keine grundlegend neue Funktionen.
- Du musst nicht zwischen Stabilität und Aktualität wählen, sondern hast beides.
Vorbereitung
Für ein Upgrade solltest du etwas Zeit einplanen. Da sich die Lebenszeiten der Versionen mindestens 6 Monate überlappen, hast du erstmal keinen Druck. Du musst nicht zwingend der erste sein, der das Upgrade auf eine neue Version macht.
Ganz wichtig ist, dass du dir mal wieder einen Überblick über die verwendeten Repositories und die installierte Software verschaffst. Es ist nämlich zwingend erforderlich, dass alle aktiven Repositories immer zur gleichen Version von openSUSE passen!
- Starte YaST und gib das Administrator-Kennwort ein.
- Starte dann das Modul "Software-Repositories"
Bei mir sieht das (nach dem Update auf Leap 15.1) exemplarisch wie folgt aus:
Gehen wir die Liste mal gemeinsam Stück für Stück durch.
- Der erste Eintrag ist das PackMan-Repository mit den Multimedia Codecs.
- Gleich die nächsten 10 Einträge in der Liste werden standardmäßig bei der Installation angelegt. Vier davon sind standardmäßig aktiv.
- Dann kommt libdvdcss, ein Repository das zusammen mit PackMan angelegt wird und den CSS-Algorithmus zum Abspielen von DVDs enthält.
- Der nächste Eintrag verweist auf das Installationsmedium, das für Installation oder Upgrade verwendet wurde. Er ist typischerweise nicht aktiv.
- Ab jetzt folgen Einträge für Repositories, die ich zur Installation weiterer Software eingebunden habe.
Und genau hier solltest du dir noch mal eine genaue Liste machen und alle diese Repositories notieren.
- Warum habe ich diese Repositories eingebunden?
- Welche Software habe ich davon installiert?
- Brauche ich die noch oder können die weg?
- Gibt es diese Repositories auch für die neue Version von Leap?
Diese Fragen solltest du dir für jeden dieser Einträge stellen, also für alles, was nicht Standard, nicht PackMan und nicht Installationsmedium ist.
Ich versuche ja meist, die grafische Bedienoberfläche zu benutzen, wo es nur geht. Aber hier ist die Kommandozeile eindeutig im Vorteil, denn ich habe noch nicht herausgefunden, wie ich diese Information in so prägnanter Form über YaST erhalten könnte. Starte also eine Konsole über Start > System > Konsole
. Du brauchst keine Administratorrechte.
Liste dir jetzt noch mal deine Repositories auf mit dem Kommando zypper lr
:
Die Reihenfolge ist hier anders, aber du findest genau deine Repositories auch hier wieder. Zu jedem Repository steht in der ersten Spalte eine Nummer. Suche dir die Nummern der Repositories heraus, die du näher untersuchen möchtest. Bei mir ist das zum Beispiel die Nummer 5: Warum habe ich das "Publishing" Repository mit eingebunden? Diese Frage beantwortet das nächste Kommando: zypper se --installed-only -r 5
:
Und hier steht es: ich habe mir gscan2pdf
aus diesem Repository installiert! Und ja, dieses Programm möchte ich behalten. Die erste Spalte beinhaltet den Code i+
. Das i
steht für "installed". Das +
dahinter sagt, dass ich dieses Paket aktiv ausgewählt und installiert habe. Ohne dieses Plus-Zeichen werden Pakete aufgeführt, die von anderen Paketen benötigt werden und als Abhängigkeiten automatisch installiert worden sind.
Gehe nun so alle deine Nicht-Standard-Repositories durch und entscheide jeweils:
- Ist die Liste leer, habe ich also gar nichts installiert? Dann weg mit dem Repository!
- Brauche ich die installierte Software? Wenn nein, dann deinstalliere sie über die Softwareverwaltung (ja, das geht auch über die Kommandozeile mit zypper, aber ich bin ja Maus-Schubser).
- Ist die Software inzwischen vielleicht in einem Standard-Repository vorhanden? Dann kann das Repository auch weg. Beim Upgrade wirst du dann gefragt, ob du auf die Version aus dem Standard-Repository umstellen willst.
- Gibt es das Repository auch für die neue openSUSE Leap-Version, auf die ich umstellen möchte? Als ersten Test kannst du dir die in der YaST Repository-Verwaltung angezeigte URL anschauen. Meist enthält sie die Versionsnummer. Ersetze hier einfach z.B. "15.1" durch "15.2" und schaue mit dem Browser, ob du das Repository erreichen kannst. Dieser Test geht nicht immer, aber er funktioniert für alle Repositories von openSUSE. Repositories, für die du dir nicht sicher bist, solltest du möglichst nicht weiter verwenden! Brauchst du die Software aus diesen Quellen wirklich?
Backup
Hast du ein Backup all deiner Daten? Sicher? Schau auf alle Fälle noch mal unter borgbackup nach.
Upgrade
Für das Upgrade selbst hast du prinzipiell zwei Optionen:
- Ein Live-Upgrade. Dabei tauschst du deine Repositories gegen diejenigen der neuen Version aus und führst dann das Upgrade per Kommando aus dem laufenden System heraus aus.
- Ein Upgrade per DVD oder USB-Stick. Das funktioniert ähnlich wie eine Installation. Daten und Einstellungen bleiben aber auch da erhalten.
Das Ergebnis ist in beiden Fällen das gleiche. Beide Wege werden von openSUSE auch offiziell unterstützt. Ich benutze meist das Live-Update. Einen USB-Stick mit der neuen Version lege ich aber zur Sicherheit auch bereit.
Live Upgrade
Unter https://de.opensuse.org/SDB:Distribution-Upgrade bietet openSUSE eine Anleitung für das Live Upgrade, die ich aber etwas verwirrend finde und die leider nicht auf dem neuesten Stand ist. Ich versuche, die Schritte etwas klarer und einfacher zu machen.
Stelle zunächst sicher, dass dein System auf dem aktuellen Stand ist. Starte YaST und rufe die Online-Aktualisierung auf. Installiere alle Pakete, die dir hier möglicherweise angeboten werden.
Für die Repositories musst du nun alle Verweise auf die bisherige Version durch Verweise auf die neue Version ersetzen, also z.B. "15.1" durch "15.2". Teilweise verwendet openSUSE für die Versionsnummer bereits die Variable $releasever
, die stets die aktuelle Versionsnummer enthält, aber das ist noch nicht durchgängig realisiert. Wir müssen deshalb auch für den Fall gerüstet sein, dass die Versionsnummern noch fest in den Konfigurationsdateien der Repositorys kodiert sind. Die folgenden Kommandos ersetzten die hart kodierte Versionsnummer für alle Repositorys durch die $releasever
Variable:
- Öffne eine Administrator-Konsole und gib dein Kennwort ein
- Führe für das Upgrade von 15.1 nach 15.2 folgenden Befehl aus. Für andere Versionsübergänge verwende die passenden Versionsnummer:
sed -i 's/15.1/${releasever}/g' /etc/zypp/repos.d/*
- Wenn du dir jetzt auf YaST > Software-Repositories deine Repositories anschaust, dann beinhalten sie noch immer die "alte" Versionsnummer. Wenn du ein Repository anklickst, dann erscheint aber in den Details eine "Roh-URL", in der du die
$releasever
Variable finden solltest. - Deaktiviere Drittanbieter-Repositories, bei denen du dir noch nicht sicher bist. diese kannst du nach dem Upgrade anpassen und wieder aktivieren. Oder löschen, wenn du sie nicht mehr brauchst.
Das Upgrade selbst solltest du in einer nichtgrafischen Konsole ausführen. Die hast du bisher möglicherweise noch gar nicht kennengelernt, sind aber für ein Upgrade erste Wahl. Das ist auch gar nicht so kompliziert:
- Drücke
Strg-Alt-F1
- Deine gesamte grafische Oberfläche ist nun verschwunden, und du siehst einen simplen
login:
Prompt. - Gib hier als Benutzerkennung
root
ein. - Jetzt kommt die Frage nach dem Passwort. Es ist dein übliches Anmeldepasswort, das auch Administratorpasswort ist, wenn du dich an meine Empfehlungen gehalten hast.
- Führe die beiden folgenden Befehle aus:
zypper --releasever 15.2 refresh zypper --releasever 15.2 dup
- Der erste Befehl lädt sich die Inhaltsverzeichnisse der neuen Repositorys herunter. Der zweite führt dann das Upgrade durch. Das kann einige Zeit dauern. Zunächst werden alle benötigen Pakete heruntergeladen. Danach erfolgt die Installation der Pakete.
Beim zweiten Befehl kann es sein, dass dich zypper bei einigen Paketen um Rat fragt. In fast allen Fällen solltest du dabei so antworten, dass das betreffende Paket aus dem neuen Repository benutzt wird.
Ist das alles erfolgreich durchgelaufen, kannst du dich mit dem Befehl exit
wieder abmelden und mit Alt-F7
wieder auf die grafische Oberfläche wechseln. Fahre den Rechner dann herunter und starte ihn neu.
Mache dann bei den unten beschriebenen Feinarbeiten weiter.
Upgrade per DVD oder USB-Stick
Der Upgrade funktioniert ganz ähnlich wie eine Installation. Lade dir die neue Version herunter und erzeuge ein Installationsmedium, wie unter Download beschrieben. Boote dann vom Installationsmedium, wie unter Die Installation erklärt. Wähle dann aber im ersten Menu nicht "Installation" sondern "Upgrade".
Den Upgrade-Prozess hat openSUSE gut dokumentiert. Ähnlich wie bei der Installation möchte ich dich auf diese Dokumentation verweisen und nur einige Anmerkungen zu machen. Den Einstieg findest du hier: Upgrading with YaST. Gleich nach dem Abnicken der Lizenzvereinbarung bekommst du eine Auswahl der auf deinem Computer gefundenen openSUSE Installationen. Meist ist das nur eine, dann ist das einfach.
Repositories
So, und jetzt brauchst du deine Vorbereitung. im nächsten Schritt werden dir alle deine bisherigen Repositories angezeigt und bei allen steht "Entfernt". Hier kannst du nun deine vorher gemachten Überlegungen heranziehen und Änderungen vornehmen:
- Für die 10 Standard-Repositories und das Installationsmedium lasse den Eintrag auf "Entfernt". Der Upgrade-Prozess fügt später die neuen Repositories automatisch wieder hinzu.
- Für PackMan und libdvdcss kannst du den Eintrag bearbeiten und die URL auf die neue Version aktualisieren. Dann kannst du diesen Eintrag auf "Behalten" umstellen.
- Ähnliches gilt auch für weitere Repositories, für die du eine Variante für die neue Version gefunden hast. Leider kannst du hier nur die URL anpassen. Falls die Versionsnummer auch im Namen des Repositorys steht, musst du das nach dem Upgrade über YaST anpassen.
- Repositories, bei denen du dir noch nicht sicher bist, kannst du auch erst mal deaktivieren. Bitte vergiss diese aber nicht. Du solltest zum Schluss auf jeden Fall eine Entscheidung treffen: rein oder raus. Sonst schaffst du dir nur Leichen in der Liste.
- Und was du nicht mehr brauchst kann dir der Upgrade-Prozess gleich sauber entfernen.
Über prüfe deine Einstellungen noch einmal genau, bevor du "Weiter" klickst. Fehler an dieser Stelle sind eine häufige Ursache für Probleme mit dem Upgrade.
Für die weiteren Schritte sind die Standardeinstellungen meist in Ordnung. Schau sie dir trotzdem noch mal genau an.
Und los!
Das Upgrade selbst braucht etwa so lange wie eine Installation. Schließlich werden alle Pakete durch die neuen Versionen ersetzt. Deine Einstellungen und Daten bleiben aber unverändert erhalten. Auch ein Druckertreiber oder ähnliches, was du ohne ein Repository installiert hast, bleibt auf dem System.
Feinarbeiten
Nach dem fälligen Reboot startet jetzt das neue System. Vielleicht gibt es jetzt noch ein paar Feinarbeiten:
- Hast du bei Repositories die URL geändert, aber im Namen steht noch die alte Bezeichnung? Dann ziehe das jetzt in der Repository-Vewaltung von YaST gerade.
- Wenn du schon da bist: gibt es noch deaktivierte Nicht-Standard-Repositories? Dann lösche sie oder stelle sie auf die neue Version um!
- Hast du PackMan eingebunden? Dann gehe in die YaST Software-Verwaltung und stelle erneut die Systempakete auf PackMan um, wie ich da unter Multimedia - PackMan beschieben habe.
- Gibt es Software, die vorher nur "versuchsweise" in einem Nicht-Standard-Repository lag und jetzt in den Standard aufgenommen worden ist? Zum Beispiel ist seit Version 15.1 Telegram fester Bestandteil der Distribution. Dann gehe in die YaST Softwareverwaltung und wähle das entsprechende Paket aus. Im unteren Bereich der Softwareverwaltung wählst du den Tab "Versionen" und wählst hier die Version aus dem Standard-Repository aus. Vielleicht ist dadurch dann auch wieder ein Repository überflüssig geworden. Das oben beschriebene Kommando
zypper se --installed-only -r <nummer>
hilft dir bei der Entscheidung. Dann lösche es auch in der Repository-Verwaltung.
Verwaiste Pakete
Was ich mir in diesem Zusammenhang auch gerne noch mal anschaue sind die verwaisten Pakete, also Software, die nicht aus einem der konfigurierten Repositorys stammt. Vielleicht sind ja durch die Änderung der Repositorys einige Waisen hinzugekommen. Starte wieder die YaST Softwareverwaltung und wähle den Tab "Paketgruppen" (bis 15.1) oder "Paket Klassifikation" (ab 15.2) oder wähle ihn aus dem Menu "Ansicht" aus. Wähle dann links den Eintrag "Verwaiste Pakete". Typischerweise findest du hier Druckertreiber, die du über einen Download direkt installiert hast. Das ist in Ordnung. Aber es können auch noch andere Pakete hier auftauchen. Bei mir sah das unter Leap 15.1 so aus, bei Leap 15.2 ist es etwas weniger bunt:
Neben vier Paketen für Druckertreiber ist da noch eines aus der Release-DVD (das uns auch nicht zu interessieren braucht). Aber was ist mit libx265-169? Brauche ich das noch? Für diese Frage gehe ich wieder auf "Suchen" und suche nach libx265:
Hier ist zu erkennen, dass das wohl eine alte Version eines Paketes ist, für das inzwischen auch die Variante libx265-176
existiert. Ich kann erkennen, dass das Paket von PackMan kommt, und anscheinend beim Update nicht entfernt worden ist. Ich deinstalliere es deshalb.
Jetzt hast du nicht nur den Upgrade auf die neue Version erfolgreich durchgeführt, sondern auch mal wieder aufgeräumt.
Links zum Thema
- https://en.wikipedia.org/wiki/OpenSUSE_version_history Versionsgeschiche der openSUSE Releases (englisch)
- https://doc.opensuse.org/documentation/leap/startup/html/book-opensuse-startup/cha-update-osuse.html Der openSUSE Upgrade-Prozess (englisch)
- https://de.opensuse.org/SDB:Distribution-Upgrade Deutsche Beschreibung des Upgrade-Prozesses im openSUSE Wiki
- https://www.opensuse-forum.de/thread/64949-upgrade-von-opensuse-leap-15-2-auf-opensuse-leap-15-3/ Beschreibung des Upgrade-Prozesses im openSUSE Forum