(Dateisystem ext4 – was das Dateisystem damit zu tun hat – dazu am Ende mehr)
Allgemeines zu Repositories – kurz Repo(s)
Wenn Software beispielsweise mit „zypper“ oder mit „Yast“ installiert wird, so holt sich das System die Pakete aus diversen Softwarequellen – den sogenannten Repositories. Das System muss ja „wissen“ wo es Software herbekommt.
Außer den Standard-Repositories gibt es eine Vielzahl weiterer Softwarequellen, welche man einbinden kann, falls gewünschte Software nicht in den Standard-Repositories enthalten ist.
Grundsätzlich aber gilt, je weniger zusätzliche Repositories, desto „stabiler“ das System (außer, man weiß was man tut und achtet stets auf Kompatibilität und Priorisierung); Priorität bedeutet, wenn gleiche Programme in mehreren Repos enthalten sind, holt sich das System die Software aus dem Repo mit der höheren Prio (Standard-Prio ist 99 und je KLEINER die Zahl, desto HÖHER die Prio).
Alle Repositories findet ihr unter /etc/zypp/repos.d/ als reine Textdateien. In diesen Textdateien ist u.a. definiert die Priorität, der Pfad, ob das Repo aktiviert ist usw..
Früher (vor openSUSE Leap 15.2) stand in den Repositories unter „baseurl“ in Klartext die Version des aktuellen Betriebssystems wie z.B. „15.2“. Heute jedoch ist es Standard, dass anstelle der Version "15.2" eine Release-Variable "$releasever" enthalten ist. Diese Variable hat den Vorteil, dass auch in Zukunft, mir sehr wenig Aufwand, alle Repositories, die diese Variable enthalten, auf eine neue openSUSE Version, wie z.B. 15.3, umgestellt werden können, um ein Upgrade, auf die nächst höhere openSUSE Leap Version, durchzuführen.
Es kann aber sein, dass in einigen Repos die Variable „$releasever“ enthalten ist und in anderen Repos die Version "15.2" als Klartext (passiert, wenn man z.B. immer wieder Upgrades gemacht hat – über viele Versionen hinweg und / oder die Repos manuell angepasst hat).
Also vorher alle Repositories anpassen und auch kontrollieren
Das machen wir in der Konsole als Root mit dem Befehl:
Dieser Befehl guckt sich alle Repositories unter…
etc/zypp/repos.d/
...an und macht aus „15.2“ einfach die Variable „$releasever“ (heutiger Standard). Alles andere bleibt wie es ist.
Kontrolliert das einfach mal...
Öffnet dazu z.B. Dolphin und navigiert zu:
etc/zypp/repos.d/
Dort findet ihr alle Repos als einfache Textdateien.
So sollte z.B. jetzt die Adresse eines Update-Repos aussehen:
baseurl=http://download.opensuse.org/update/leap/$releasever/oss/
Hier sehen wir, dass die Variable „$releasever“ eingetragen ist und nicht die openSUSE-Version „15.2“.
Vor der Änderung stand dort noch:
baseurl=https://download.opensuse.org/update/leap/15.2/oss/
Schaut euch jetzt auch alle anderen Repos an.
Ob die Repos, mit der neuen Variable „$releasever“ auch wirklich funktionieren, kontrollieren wir in der Konsole mit:
Obwohl in den Repos selbst die Variable „$releasever“ eingetragen ist, sehen wir jetzt in der Konsole wieder die aktuelle Version des Betriebssystems "15.2". Mit gedrückter STRG Taste könnt ihr den Pfad der einzelnen Repos anklicken und im Browser sollte sich ein Fenster mit Inhalten öffnen. Kommt im Browser die Meldung „Error 404“, stimmt etwas mit dem Pfad im Repo nicht und muss spätestens jetzt korrigiert werden.
Auch ein...
...als Root darf hier keine Fehler zeigen.
(alle Repos müssen funktionieren)
Bis zu diesem Punkt haben wir noch immer ein normales openSUSE Leap 15.2. Lediglich die Repos wurden durch den Eintrag der Variable „$releasever“ auf den heutigen Standard gebracht.
Das eigentliche Upgrade von openSUSE Leap 15.2 auf openSUSE Leap 15.3
Es wird empfohlen, das Upgrade in einem echten Terminal durchzuführen. Wir bleiben aber angemeldet (damit der NetworkManager seine Internetverbindung beibehält) und wechseln nun in einen echten Terminal mit:
STRG+ALT+F!
Dort melden wir uns an:
Benutzernamen eingeben, ENTER und anschl. das Passwort blind eingeben und wieder mit ENTER bestätigen.
Es geht direkt weiter und wir müssen Root werden:
Das machen wir mit „su -“ (ohne Anführungsstriche) - ENTER und wieder blind das entsprechende Root-Passwort eingeben gefolgt von ENTER. Nun sind wir Root im echten Terminal.
Der folgende Befehl bereitet nun alles für openSUSE Leap 15.3 vor:
Das eigentlich Upgrade, auf openSUSE Leap 15.3, starten wir nun mit:
Dieser Vorgang kann schon mehrere Minuten dauern. Wenn alles fertig ist, fahren wir den PC herunter mit:
Wenn alles geklappt hat, sollte nun openSUSE Leap, in der Version 15.3, vorhanden sein.
An dieser Stelle sei angemerkt, dass man ein Upgrade von Leap 15.2 auf 15.3 auch mit einem Boot-Stick machen kann (vom Stick starten und „Upgrade“ auswählen). Es gibt viele Möglichkeiten. Die „sauberste“ Variante ist natürlich immer eine komplette Neuinstallation. Allerdings müssen dann manuell alle Programme erneut installiert werden und zuvor gesicherte Daten müssen ebenfalls wiederhergestellt werden. Jeder, wie er mag.
Egal, welchen Weg man geht... BACKUP – BACKUP – BACKUP
Es kann immer etwas schief gehen und…
...unverhofft kommt oft
PS:
Ganz oben schrieb ich vom Dateisystem. Wer mit BTRFS arbeitet, sollte sich folgende Anleitung zusätzlich anschauen (Punkt 3):
https://en.opensuse.org/SDB:System_upgrade
So, jetzt aber - wünsche allen: