Hast du "SecureBoot" im Bios (UEFI) enabled?
Falls ja, schalte es mal aus.
Hast du "SecureBoot" im Bios (UEFI) enabled?
Falls ja, schalte es mal aus.
(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:
Es wird davon abgeraten, Versionen zu überspringen.
Aber zu deiner Frage:
--allow-vendor-change
...kannst du zusätzlich verwenden - siehe man zypper.
Kannst ja hier noch mal schauen (geht auch in die Richtung, wie matbhm schon schrieb):
auf meinem Heimrechner (auch Leap 15.2) hab ich auch exakt das selbe Problem
Auch dort in Verbindung mit dem Publishing-Repository?
Ich würde das Publishing-Repository rausschmeißen, TexLive deinstallieren (inkl. Configs), /var/log/zypp/history umbenennen in /var/log/zypp/history_org und anschl. versuchen, benötigte Anwendung(en) neu zu installieren.
Was mir aber extrem auffällt ist:
zypper se -si | grep -Ei 'systemp|system-p|system_p|system p' erzeugt 8000 Zeilen Output
An dieser Stelle könnte man schon bald über eine saubere Neuinstallation (openSUSE Leap 15.3) nachdenken.
Kann hier nichts besseres dazu beitragen, da ich diese Anwendungen nicht nutze.
Da kennen sich andere besser aus.
Gut, ich sehe jetzt auch, dass distribution/leap/15.2/repo/oss/ doppelt vorhanden ist (wahrscheinlich ein Überbleibsel vom Upgrade 15.1 → 15.2) und gelöscht werden kann, aber sonst?
Sieht doch ok aus. Das doppelte Repo kannst du löschen - hat aber mit dem eigentlichen Problem nichts zu tun.
Versuch doch mal als Rot mit "su -":
Funktioniert zypper dann wieder?