Tumbleweed- und Leap-Systeme nach Slowroll migrieren

Aus LinuxUser 10/2024

Tumbleweed- und Leap-Systeme nach Slowroll migrieren

© Sasi Ponchaisang / 123RF.com

Frequenzwechsel

Weniger kann mehr sein: Slowroll stellt die wöchentlichen Versionsaktualisierungen von Tumbleweed auf einen Monatsrhythmus um.

Bekanntlich gibt es zwei Hauptspielarten der Desktop-Distribution von OpenSuse, die nur jährlich aufgefrischte Variante Leap [1] und Tumbleweed [2], eine Rolling-Release-Fassung mit wöchentlichen Versions-Updates.

Leap liegt in der Benutzergunst nach wie vor vorn [3]. Es gibt offenbar viele Anwender (Abbildung 1), die den veralteten Softwarestand von Leap in Kauf nehmen, um den Nachteilen von Tumbleweed zu entgehen: Trotz automatisierter Tests bleiben bei den wöchentlichen Dist-Upgrades (Abbildung 2) Probleme nicht ganz aus. Bei den Aktualisierungen fallen oft große Datenmengen von bis zu 1 Gigabyte an. Zudem gilt es häufig, das System neu zu starten.

Abbildung 1: Die Zugriffszahlen von <a href="http://download.opensuse.org" target="_blank">http://download.opensuse.org</a> geben einen Eindruck von der Verbreitung der Suse-Produkte.

Abbildung 1: Die Zugriffszahlen von http://download.opensuse.org geben einen Eindruck von der Verbreitung der Suse-Produkte.


Abbildung 2: Bei Tumbleweed-Updates summieren sich schnell mehr als 1000&nbsp;Pakete und &uuml;ber 1&nbsp;GByte an Daten.

Abbildung 2: Bei Tumbleweed-Updates summieren sich schnell mehr als 1000 Pakete und über 1 GByte an Daten.

Niemand zwingt Tumbleweed-Anwender, die Updates täglich anzuwenden. Doch sie haben andererseits auch nicht die Möglichkeit, gezielt die sicherheitsrelevanten Aktualisierungen herauspicken und die unkritischen und manchmal lästigen Versionsauffrischungen zurückzustellen. Ein Manko, denn kritische Lücken treten auch unter Linux auf, wie die Backdoor im Xz-Utils-Paket gezeigt hat [4].

Teilaktualisierungen funktionieren bei Rolling-Release-Distributionen – egal, ob Tumbleweed, Arch Linux oder Siduction – niemals zuverlässig: Jede Auffrischung einer Komponente erzwingt die Neupaketierung aller ihrer Abhängigkeiten. Daher fallen Tumbleweed-Updates oft so groß aus. Die Systemkonsistenz ist nur gewährleistet, wenn Sie stets alle bereitstehenden Pakete zugleich installieren.

Frequenzgrenze

Im Jahr 2023 kündigte die Enterprise-Sparte von Suse an, die Allround-Distribution SLES, Lieferant eines Großteils der Pakete für Leap, nicht fortzuführen. Da die Zukunft von Leap damit auf der Kippe stand, kam der Suse-Entwickler Bernhard Wiedemann auf die Idee, Sicherheits-Patches und Versionsaktualisierungen schon im Paketierungsprozess automatisiert zu trennen. Das versetzt Entwickler in die Lage, jedes Sicherheits-Update auf eventuell dadurch gebrochene Abhängigkeiten zu untersuchen und die betroffenen Pakete ebenfalls neu bereitzustellen (Abbildung 3). So entstand der experimentelle neue Spross der OpenSuse-Familie, Slowroll [5].

Abbildung 3: Wer aus einem Tumbleweed-Update-Satz einfach ein Paket herausgreift, l&ouml;st Abh&auml;ngigkeitskonflikte aus.

Abbildung 3: Wer aus einem Tumbleweed-Update-Satz einfach ein Paket herausgreift, löst Abhängigkeitskonflikte aus.

Während die Sicherheits-Updates keinen Aufschub dulden, bündelt Slowroll vier wöchentliche Upgrades von Tumbleweed zu einem. So ergibt sich eine Aktualisierungssequenz aus wenigen Paketen alle paar Tage und einem Update-Rundschlag jeweils um den 9. eines jeden Monats.

Der Wunsch mancher Anwender, hier vielleicht einen Quartalszyklus einzuführen, verbietet sich aus Ressourcengründen. Seit gut 15 Jahren automatisiert der OpenSuse-Build-Service die Aufgabe, alle durch ein Update eines Pakets in ihren Abhängigkeiten betroffenen anderen Pakete neu zu erstellen. Das erfordert umso mehr händische Nacharbeit, je größer der Abstand zwischen aufgefrischten und beibehaltenen Paketen anwächst (Abbildung 4). Deswegen gilt für das Einmannprojekt Slowroll der monatliche Veröffentlichungszyklus als gerade noch zu bewältigen.

Abbildung 4: Der OpenSuse-Build-Service versucht, jedes Paket f&uuml;r die gegenw&auml;rtigen OpenSuse-Distributionen aktuell zu halten. Je weiter die Paketversion und die OpenSuse-Umgebungen auseinanderdriften, desto mehr h&auml;ndische Nacharbeit f&auml;llt an.

Abbildung 4: Der OpenSuse-Build-Service versucht, jedes Paket für die gegenwärtigen OpenSuse-Distributionen aktuell zu halten. Je weiter die Paketversion und die OpenSuse-Umgebungen auseinanderdriften, desto mehr händische Nacharbeit fällt an.

Diese Kluft zwischen einem abgehangenen Grundsystem und von den Anwendern gewünschten aktuellen Programmen macht es den OpenSuse-Entwicklern schwer, die von SLES übernommene Basis für Heimanwender mit aktuelleren Paketen aufzuwerten. Das Konzept, frische Anwendungen auf Basis eines abgehangenen, gut getesteten Systems auszuliefern, ging weniger gut auf als erhofft. Manche der bei der ersten Leap-Fassung von Mitte 2017 enthaltenen Pakete wurden bis heute nicht aktualisiert und haben bereits sechs Jahre auf dem Buckel.

Selbst wenn Slowroll mit monatlichen Versions-Updates immer noch schnell genug “rollt”, spart der monatliche Takt gegenüber den wöchentlichen Updates rund drei Viertel der herunterzuladenden Datenmenge ein. Auch die Wartezeit bei den Update-Vorgängen und die Anzahl der notwendigen Neustarts reduziert sich.

Probleme vermeiden

Slowroll bündelt nicht nur mehrere Tumbleweed-Versions-Upgrades, sondern verzögert außerdem die Auslieferung um einige Tage. Das soll Anwendern zumindest die schlimmsten sogenannten Regressionen ersparen. So heißen Probleme mit vorhandenen Funktionen nach einem Upgrade. Beim Zusammenspiel mit der Hardware führt das oft zu grundlegenden Problemen wie einer nicht mehr startenden grafischen Umgebung nach einem Upgrade oder Verbindungsabbrüchen bei einer bisher tadellos funktionierenden WLAN-Karte.

Bernhard Wiedemann erklärt in seiner Vorstellung von Slowroll auf der OpenSuse Conference 2024 [6], dass automatische Tests, die vor der Veröffentlichung von Tumbleweed-Updates ablaufen, solche hardwarebezogenen Komplikationen nicht aufdecken: Sie laufen auf virtuellen Maschinen statt auf echter Hardware. Regressionen treten oft erst auf, wenn die Software bei vielen Anwendern mit unterschiedlich aufgebauten Computern zum Einsatz kommt.

Bei gravierenden Problemen wie einer nicht mehr startenden grafischen Umgebung lassen Bugreports und Lösungen der Softwareentwickler meist nicht lang auf sich warten. Tumbleweed-Anwender behelfen sich in solchen Fällen damit, das fehlerhafte Update mithilfe des von Suse entwickelten Tools Snapper einfach und schnell zurückzudrehen [7].

Slowroll setzt es sich dennoch zum Ziel, durch eine kleine Verzögerung dem Anwender solche Rollbacks möglichst zu ersparen. Das Konzept ist schon vom auf Arch Linux basierende Manjaro bekannt, das den Upgrades der Mutterdistribution erst mit zwei Wochen Verzögerung folgt.

Testobjekt

Tumbleweed selbst rollt niemals langsamer: Hier wollen die Macher neu erscheinende Software so schnell wie möglich paketieren und den Anwendern zugänglich machen. Außerdem soll die Software für neue Ausgaben der Suse-Enterprise-Distribution und für Leap eine möglichst lange Testphase absolvieren. Die Geschwindigkeit, mit der neue Versionen Einzug halten, dient also nicht nur dem Anwender, sondern auch dem Entwicklungsprozess, insbesondere jenem der Enterprise-Sparte. Immerhin testet OpenQA lückenlos alle Pakete, allerdings nur oberflächlich. Das ist mehr, als andere Rolling-Release-Distributionen von sich behaupten können.

Blackout vermeiden

Eines der größten Ärgernisse bei Tumbleweed ist die Tatsache, dass nach Erscheinen einer neuen Linux-Kernel-Version bei Besitzern von Nvidia-Grafikkarten immer wieder einmal der Bildschirm schwarz bleibt. Nvidia schafft es nicht, seinen Treiber rechtzeitig vor Veröffentlichung dem neuen Kernel anzupassen. Das Ärgernis dauert oft ein bis zwei Wochen an.

Tumbleweed wartet anders als etwa Arch Linux nicht mit Kernel-Updates, bis die Probleme mit dem Nvidia-Treiber ausgeräumt sind, die einen nicht unerheblichen Prozentsatz der Linux-Anwender betreffen. Slowroll frischt deshalb auch den Kernel später auf als Tumbleweed. Dem Anwender erspart das ein alle neun bis zehn Wochen auftretendes Problem mit dem Nvidia-Treiber. Testen ließ sich dies für diesen Artikel allerdings nicht.

Um eine bestehende Tumbleweed-Installation in ein Slowroll-System umzuwandeln, genügt es, das Paket openSUSE-repos-Slowroll zu installieren (Abbildung 5) und dann auf der Kommandozeile zypper dup auszuführen. Je nach Aktualität des Ausgangssystems erfolgt ein Up- oder Downgrade einiger Hundert Pakete.

Abbildung 5: Zum Umwandeln einer bestehenden Tumbleweed-Installation in ein Slowroll-System gen&uuml;gen eine Paketinstallation und ein Upgrade.

Abbildung 5: Zum Umwandeln einer bestehenden Tumbleweed-Installation in ein Slowroll-System genügen eine Paketinstallation und ein Upgrade.

Das Problem mit den regelmäßigen Blackouts bei Nvidia-Karten lässt sich nebenbei bemerkt inzwischen für Besitzer neuerer Exemplare ab der GeForce 16 (GT  1630 bis 1660 ab 2019) für Tumbleweed und Slowroll zuverlässiger lösen. Nach Installation des unter OpenSuse erst seit Kurzem verfügbaren Long-Term-Support-Kernels [8] und des seit 2022 von Nvidia entwickelten quelloffenen Treibers [9] tritt es nicht mehr auf (Abbildung 6).

Abbildung 6: Immer noch schwer zu glauben: Der Quellcode des Nvidia-Kernel-Moduls liegt jetzt auf Github.

Abbildung 6: Immer noch schwer zu glauben: Der Quellcode des Nvidia-Kernel-Moduls liegt jetzt auf Github.

Dabei handelt es sich nicht etwa um das schon lange verfügbare, in seiner Performance nicht vergleichbare Nouveau-Modul [10], sondern um eine freie Spielart des bisherigen proprietären Treibers. Das gute Stück findet sich direkt in den Tumbleweed- und Slowroll-Repositories. Das Hinzufügen eines Community-Repositorys ist nicht mehr erforderlich. Den Long-Term-Support-Kernel pflegen die Kernel-Entwickler selbst. Er verspricht, die Anzahl der Bugs zu minimieren und erweist sich als gute Wahl, wenn der im Moment auf Version 6.6 von Oktober 2023 basierende Kernel bereits sämtliche Hardware im Rechner unterstützt (Abbildung 7).

Abbildung 7: Die Kernel-Entwickler selbst pflegen mehrere Long-Term-Support-Versionen. Die neueste davon ist unter Tumbleweed und Slowroll als Paket verf&uuml;gbar.

Abbildung 7: Die Kernel-Entwickler selbst pflegen mehrere Long-Term-Support-Versionen. Die neueste davon ist unter Tumbleweed und Slowroll als Paket verfügbar.

Sie installieren den Long-Term-Support-Kernel über das Paket kernel-longterm. Beim nächsten Reboot wählen Sie die Option Advanced Options und dann openSUSE Tumbleweed-Slowroll, with Linux 6.6.xx-longterm. Haben Sie den älteren Kernel eine Weile getestet und keine Probleme festgestellt, dann deinstallieren Sie den Standard-Kernel mittels sudo zypper rm kernel-default, damit der LTS-Kernel automatisch startet.

Für den quelloffenen Nvidia-Treiber richten Sie das Paket nvidia-open-driver-G06-signed-kmp-longterm ein. Ist der proprietäre Treiber bereits installiert, schlagen YaST und Zypper vor, ihn zu deinstallieren, was Sie durch Übernahme von Version 1 bei der Paketkonfliktlösung bestätigen.

Wandelbar

Eigentlich handelt es sich bei Slowroll nicht um eine eigenständige Distribution, auch wenn es eine Installations-DVD gibt [11]. Die ist bis auf die Tatsache, dass Sie von Anfang an die Slowroll-Repositories einbindet (Abbildung 8), identisch mit einem Tumbleweed-Installationsmedium (von Kleinigkeiten wie einem anderen Desktop-Hintergrund einmal abgesehen).

Abbildung 8: Ein per Slowroll-DVD installiertes System unterscheidet sich nur durch die eingebundenen Slowroll-Repos und den Desktop-Hintergrund von Tumbleweed.

Abbildung 8: Ein per Slowroll-DVD installiertes System unterscheidet sich nur durch die eingebundenen Slowroll-Repos und den Desktop-Hintergrund von Tumbleweed.

Die Rückkehr von Slowroll zu Tumbleweed funktioniert daher ebenfalls problemlos. Slowroll entspricht ja eins zu eins einem eine Weile nicht aktualisierten Tumbleweed. Installieren Sie einfach openSUSE-repos-Tumbleweed. Der Paketmanager schlägt die Entfernung des Slowroll-Pendants zu diesem Paket vor. Das Kommando zypper dup frischt dann das System auf den Tumbleweed-Versionsstand auf.

Ein Umstieg von Leap nach Slowroll gelingt mit zwei Kommandozeilenaufrufen. Fügen Sie dem System zuerst als Root das speziell dafür konzipierte Umstiegs-Repository hinzu (Listing 1, erste Zeile). Ein anschließender massiver, in einem Rutsch ausgeführter Befehlsblock (zweite Zeile) fügt die Slowroll-Repositories hinzu und startet ein Dist-Upgrade, das vom Umfang her dem Gegenstück bei Leap entspricht. Das Einbinden der Slowroll-Repositories erfordert etwas Shell-Magie, die das RPM-Paket mit den Repository-Daten zunächst bei noch aktiven Leap-Repositories zwischenspeichert und dann nach Deaktivierung aller bestehenden Paketquellen installiert. Der letzte Aufruf startet schließlich das Upgrade zu Slowroll.

Listing 1

Slowroll für Leap

$ zypper addrepo https://download.opensuse.org/slowroll/repo/oss/ leap-to-slowroll
$ shopt -s globstar && TMPSR=$(mktemp -d) &&
  zypper --pkg-cache-dir=${TMPSR} download openSUSE-repos-Slowroll &&
  zypper modifyrepo --all --disable &&
  zypper install ${TMPSR}/**/openSUSE-repos-Slowroll*.rpm && zypper dist-upgrade

Durch ein Downgrade über den Paketmanager lässt sich die Installation aber nicht mehr in ein Leap-System zurückverwandeln. Allerdings ist es OpenSuse-Anwendern immer möglich, zu einem Snapshot vor einer Änderung am System zurückzukehren [7] – jedenfalls, bevor Snapper den Snapshot turnusmäßig löscht.

Es bleibt anzumerken, dass das Community-Repository Packman [12] inzwischen auch Slowroll-Pakete bereithält, alle Probleme beim Paketbau sind gelöst. Damit stehen Slowroll- und Tumbleweed-Anwendern unbeschnittene Musik- und Video-Codecs, Programme zum Abspielen und Bearbeiten von Videos sowie alle weiteren von Packman bereitgestellten Pakete zur Verfügung.

Der in Listing 1 beschriebene Befehlsblock für die Umstellung von Leap auf Slowroll deaktiviert auch ein eventuell eingebundenes Packman-Repository. Fügen Sie es im YaST-Modul Softwarerepositorys einfach mit Hinzufügen | Community-Repository neu hinzu (Abbildung 9). Bei einem Tumbleweed-Upgrade auf Slowroll entfernen Sie eine vorhandene Packman-Einbindung zuerst und fügen sie dann neu ein. Unter Umständen funktionieren die Packman-Pakete für Tumbleweed auch unter Slowroll, sofern Slowroll und Tumbleweed zeitlich nicht zu weit auseinanderliegen, doch garantiert ist das nicht.

Abbildung 9: Slowroll-Anwender f&uuml;gen das Packman-Repository f&uuml;r unbeschnittene Video-Codecs per <span class="ui-element">Hinzuf&uuml;gen</span>&nbsp;| <span class="ui-element">Community Repositorys</span> im YaST-Modul <span class="ui-element">Softwarerepositorys</span> hinzu.

Abbildung 9: Slowroll-Anwender fügen das Packman-Repository für unbeschnittene Video-Codecs per Hinzufügen | Community Repositorys im YaST-Modul Softwarerepositorys hinzu.

Es bleibt nur noch eine Einschränkung: Der OpenSuse-Build-Service baut in aller Regel noch keine Pakete für Slowroll. Der Build-Service stellt das Build-Target Slowroll schon bereit, doch die wenigsten Paketverwalter haben es bisher ihren Projekten hinzugefügt. Sicher erfolgt das im Laufe der Zeit angesichts einer wachsenden Anwenderschar von Slowroll noch. Eine Umfrage zur Nutzung von OpenSuse-Distributionen vom Oktober 2023 attestiert Slowroll schon heute das Interesse vieler Anwender [13].

Fazit

Tumbleweed-Anwender, die Umfang und Häufigkeit der Updates nerven, tauschen ganz einfach per Installation eines Pakets die Tumbleweed-Repositories gegen die des langsamer rollenden Slowrolls aus. Diese Umstellung lässt sich genauso einfach und ohne Risiko für das System wieder rückgängig machen. (uba)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 10/2024 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben