====== openSUSE Distributions-Upgrade ====== Das Anheben einer Version von openSUSE Leap zur nächsten (oder gar übernächsten) ist seit Einführung von Leap ein Kinderspiel und klappt in aller Regel auch problemlos. ===== bis Leap 15.3 ===== ===== ab Leap 15.3 ===== Statt hartcodierter Versionsnummern ist openSUSE dazu übergegangen in den Repository-Dateien mit der Variablen ''$releasever'' zu arbeiten. Das kann mittels **//zypper//** auf der Kommandozeile dazu genutzt werden um ein Distributions-Upgrade vorzunehmen ohne die Repo-Dateien anpassen zu müssen, ausgenommen beim ersten Mal. Im ersten Schritt muss kontrolliert werden, ob alle Update-Repositories aktiviert respektive vorhanden sind: invis:~ # zypper repos -u Die Repository-Prioritäten sind ohne Effekt. Alle aktivierten Repositorys teilen sich die gleiche Priorität. # | Alias | Name | Enabled | GPG Check | Refresh | URI ---+---------------------------------+-------------+-----------+-----------------+----------------+------------------------------------------------------------------------- 1 | download.opensuse.org-non-oss | Haupt-Rep-> | Ja | (r ) Ja | Ja | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/ 2 | download.opensuse.org-non-oss_1 | Aktualisi-> | Ja | (r ) Ja | Ja | http://download.opensuse.org/update/leap/15.3/non-oss/ 3 | download.opensuse.org-oss | Haupt-Rep-> | Ja | (r ) Ja | Ja | http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 4 | download.opensuse.org-oss_1 | Hauptaktu-> | Ja | (r ) Ja | Ja | http://download.opensuse.org/update/leap/15.3/oss 5 | openSUSE-${releasever}-0 | openSUSE--> | Ja | (r ) Ja | Ja | http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 6 | repo-backports-debug-update | Update re-> | Nein | ---- | ---- | http://download.opensuse.org/update/leap/15.3/backports_debug/ 7 | repo-backports-update | Update re-> | Ja | (r ) Ja | Ja | http://download.opensuse.org/update/leap/15.3/backports/ 8 | repo-debug | openSUSE--> | Nein | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.3/repo/oss/ 9 | repo-debug-non-oss | openSUSE--> | Nein | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.3/repo/non-oss/ 10 | repo-debug-update | openSUSE--> | Nein | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.3/oss/ 11 | repo-debug-update-non-oss | openSUSE--> | Nein | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.3/non-oss/ 12 | repo-sle-debug-update | Update re-> | Nein | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.3/sle/ 13 | repo-sle-update | Update re-> | Ja | (r ) Ja | Ja | http://download.opensuse.org/update/leap/15.3/sle/ 14 | repo-source | openSUSE--> | Nein | ---- | ---- | http://download.opensuse.org/source/distribution/leap/15.3/repo/oss/ 15 | repo-source-non-oss | openSUSE--> | Nein | ---- | ---- | http://download.opensuse.org/source/distribution/leap/15.3/repo/non-oss/ In meinem Fall sind es die Repos 2,4,7 und 13 (2 und 4 sind versehentlich Doppel, eines davon kann problemlos gelöscht werden). Bei allen muss in der Spalte "enabled" "ja", respektive "yes" stehen. Ist das nicht der Fall müssen deaktivierte Repos aktiviert werden: invis:~ # zypper modifyrepo --enable repo-sle-update Als Parameter nach ''--enable'' kann sowohl der Name als auch die Nummer des entsprechenden Repos angegeben werden. Es müssen mindestens 3 verschiedene Update-Repos "repo-update" (Hauptaktualisierungsrepository), "repo-backports-update" und "repo-sle-update" vorhanden sein. Fehlt eines oder mehrere, müssen diese eingerichtet werden. Hier gezeigt am Beispiel "repo-update" invis:~ # zypper addrepo --check --refresh --name 'repo-update' http://download.opensuse.org/update/leap/15.3/oss/ repo-update Gleichermaßen funktioniert es bei den anderen Updates, es muss lediglich der entsprechende Name ersetzt werden. Im folgenden Schritt muss überprüft werden, ob die Versionsnummer der betriebenen Leap-Version noch fix in den Repository-Dateien steht: invis:~ # grep baseurl /etc/zypp/repos.d/*.repo Steht in den ausgegebenen Zeilen an irgendeiner Stelle noch "15.3" kann dies wie folgt pauschal in die Variable ''$releasever'' geändert werden: invis:~ # sed -i 's/15.3/${releasever}/g' /etc/zypp/repos.d/*.repo Findet sich in einer der zuvor mit **//grep//** erzeugten Ausgabe eine oder mehrere Zeilen in denen die Version noch mit "openSUSE_Leap_15.3" angeben wurde ist "openSUSE_Leap_" zu entfernen. Das kann händisch im Editor erfolgen. Jetzt können die Repositories dynamisch für Leap Version 15.4 bzw. nachfolgende aufgefrischt werden: invis:~ # zypper --releasever=15.4 refresh Treten dabei keine Fehler auf, kann jetzt das eigentliche Distributions-Upgrade erfolgen: invis:~ # zypper --releasever=15.4 dup --download-in-advance Im Anschluss an das Upgrade muss der Server neu gestartet werden.