Aussitzen ist bei hartnäckigen Problemen manchmal die einzige Lösung: Tumbleweed-Anwender drehen problematische Aktualisierungen einfach mit dem Suse-Tool Snapper zurück und warten ab, ob das nächste Update das Problem löst.
Leap [3] ist und bleibt die OpenSuse-Spielart, die computeraffine Anwender für ihre weniger versierten Bekannten einrichten. Ein großes Update im Jahr genügt, um das System aktuell zu halten. Die Sicherheits-Fixes per Klick auf das Taskleisten-Icon einzuspielen, ist ein simpler Vorgang mit geringem Problempotenzial. Neue, sich anders verhaltende Versionen der gewohnten Anwendungen gibt es nur nach einem vom Anwender explizit angestoßenen Distributions-Upgrade.
Doch nicht alle Nutzer möchten sich mit veralteten Anwendungen abfinden, deren Verfallsdatum gern auch einmal zwei Jahre zurückliegt. Tumbleweed dagegen liefert wöchentlich ein partielles Distributions-Upgrade. Neue Versionen einer Software stehen hier in der Regel einige Tage nach ihrer Freigabe durch die Autoren zur Installation bereit (Abbildung 1).

Abbildung 1: Während Leap-Anwender noch bis Jahresende mit dem altbackenen Gimp 2.10 auskommen müssen, arbeiten Tumbleweed-Benutzer bereits mit dem zweiten Bugfix-Release des leistungsfähigeren Gimp 3.0.
Netz und doppelter Boden
Wie Linux-Veteranen wissen, ist ein Distributions-Upgrade ein problemträchtiger Vorgang. Die Gefahr, dass das System oder wichtige Anwendungen danach nicht mehr so funktionieren wie vorher, ist zwangsläufig größer als beim bloßen Einspielen von Sicherheitsaktualisierungen. Bei Tumbleweed findet ein solches Upgrade wöchentlich statt – nicht für die ganze Distribution, aber zumindest für einen Teilbereich.
Erschwerend für Einsteiger kommt hinzu, dass Tumbleweed wie Leap über ein Taskleisten-Icon verfügbare Aktualisierungen meldet. Aber Vorsicht: Das Icon versagt beim Einspielen der Fixes. Das Upgrade scheint zwar zu funktionieren, doch fehlen dem grafischen Upgrade-Vorgang die Rechte, um veraltete Pakete zu entfernen. Letzteres ist jedoch erforderlich, um eine Distribution über Jahre ohne Neuinstallation aktuell zu halten.
Nur der Aufruf sudo zypper dup auf der Konsole garantiert, dass ein Tumbleweed-System dauerhaft aktuell bleibt. Das Kürzel dup steht für Distribution Upgrade, während das Update-Icon und analog zypper up nur neue Pakete einspielen, soweit es die Abhängigkeiten der vorhandenen Pakete gestatten.
Das führt langfristig dazu, dass nicht mehr unterstützte Pakete durch ihre Abhängigkeiten den gesamten Upgrade-Prozess blockieren. Es lassen sich dann keine Updates mehr einspielen und damit auch keine Sicherheitsaktualisierungen. Tumbleweed verlangt es Anwendern also ab, zumindest einen Konsolenbefehl regelmäßig auszuführen. Den erlernen selbst Einsteiger und Umsteiger von Windows schnell – wenn sie denn davon wissen.
Während man über Arch Linux oft hört, es sei nicht für jeden Anwender das Richtige, versuchen OpenSuse-Entwickler, die Risiken ihrer Rolling-Release-Distribution durch Netz und doppelten Boden abzufangen. Wiederherstellungspunkte nach Systemaktualisierungen sind nach der Installation automatisch aktiv und dürften gerade Windows-Anwendern bekannt vorkommen (Abbildung 2).

Abbildung 2: Windows kennt die unter Windows 10 (rechts) Systemschutz genannten Wiederherstellungspunkte schon deutlich länger als OpenSuse (links).
Auch Linux-Neulinge, die bereit sind, sich mit dem Rollback-Mechanismus auseinanderzusetzen, nutzen Tumbleweed und die dort vorhandene frische Software dann ohne Einschränkungen. Das Zurückspielen eines früheren Systemzustands nach einem problematischen Upgrade besteht aus lediglich drei Schritten: der Auswahl eines Snapshots im Bootloader-Menü und einem weiteren Konsolenbefehl, gefolgt von einem normalen Reboot.
Wie oft ein gravierendes Problem nach einem Upgrade zu einem solchen Restore zwingt, hängt wohl von Faktoren wie der Systemkonfiguration, der Hardware im Rechner und der genutzten Software ab. Das Auftreten von Problemen folgt außerdem den Gesetzen der statistischen Verteilung, sprich: Nach Jahren ganz ohne Ärgernisse treten diese plötzlich gehäuft auf. Darum sollten alle Tumbleweed-Anwender für den Fall der Fälle Bescheid wissen, wie Rollbacks funktionieren.
Aufbewahrt
Für ein Restore wählen Sie im Bootmenü direkt nach dem BIOS/UEFI-Startscreen den Punkt Start Bootloader from a read-only snapshot und aktivieren im folgenden Screen einen Snapshot mit einem Datum, zu dem das Problem noch nicht aufgetreten war (Abbildung 3). Dann startet dieser frühere Systemzustand im Read-only-Modus. Nun lässt sich risikofrei testen, ob im konservierten Zustand alles wie gewünscht funktioniert. Ist das nicht der Fall, rebooten Sie und wählen im Bootloader einen älteren Schnappschuss aus.

Abbildung 3: Selbst schwerste Havarien lassen sich rückgängig machen, indem Sie im Bootloader einen Snapshot aus einer Zeit wählen, in der das System noch einwandfrei lief.
Funktioniert jetzt alles wieder wie gewünscht, dann führen Sie in einem Konsolenfenster das Kommando snapper rollback aus. Dieser Befehl ohne weitere Parameter macht den gegenwärtigen, im Moment nur lesbaren Systemzustand zum Standard. Ein weiterer Reboot ohne manuelle Auswahl einer Sonderoption startet das System wieder beschreibbar. Ein oder mehrere problematische Updates sind damit zurückgedreht. Selbst Probleme, die eine länger zurückliegende Auffrischung aufgeworfen hat, lassen sich so lösen.
Der Befehl snapper list (Abbildung 4) zeigt eine Liste aller vorhandenen Snapshots der Typen pre, post oder single. Dabei handelt es sich um vor und nach einem administrativen Vorgang festgehaltene Snapshot-Paare oder einzeln angelegte Snapshots. Die Spalte Beschreibung erläutert, warum der Snapshot entstand. So hat das System einen Schnappschuss zum Beispiel vor und nach Ausführen eines YaST-Moduls angelegt, wenn in der Beschreibung yast steht. Analog steht yast sw_single für eine grafische Paketinstallation und zypp(zypper) für den Einsatz von Zypper auf der Kommandozeile. Bei einem erfolgreichen Rollback entstehen außerdem zwei Snapshots vom Typ single mit der Beschreibung rollback backup of #xx und writable copy of #xx.

Abbildung 4: Die Ausgabe von snapper list als Root auf der Konsole bietet eine optimale Übersicht über bestehende System-Snapshots. Die letzten zwei Zeilen entstanden bei einem problemlos verlaufenen Rücksprung auf den ein Jahr alten Snapshot 37.
Die writable copy ist dann der letzte Snapshot in der Liste und außerdem der gerade aktive Systemzustand, wie das Sternchen nach der laufenden Nummer in der ersten Spalte der Snapper-Ausgabe signalisiert. Ein rollback backup hält zudem den problemverursachenden Systemzustand vor dem Rollback fest, sollten Sie trotzdem zu ihm zurückkehren wollen.
Nach dem Rollback liegt ein funktionstüchtiges, allerdings veraltetes System vor. Das Zurückrollen umfasst alle systemweiten Veränderungen inklusive der Konfigurationsdateien unter /etc oder an anderen Stellen. Fehlen Ihnen nun wichtige Anpassungen an der Konfiguration, holen Sie diese jederzeit aus dem rollback backup zurück, und zwar ohne diesen Snapshot erneut zu booten.
Das YaST-Modul Dateisystemschnappschuss gestattet es anders als allumfassende Rollbacks, einzelne Files zurückzuspielen, zum Beispiel Konfigurationsdateien. Sie wählen dazu im ersten Bildschirm den gewünschten Snapshot und klicken auf Änderungen anzeigen. Nach einigen Sekunden erscheint eine Dateiliste. Der Button Auswahl wiederherstellen spielt die hier gewählten Dateien aus dem Snapshot ins laufende System zurück.
Dank YaST ist es also kein Problem, einzelne Dateien aus beliebigen Schnappschüssen ins laufende System einzuspielen. Ein partielles Upgrade der installierten Software gelingt hingegen nicht uneingeschränkt. Sie können sich also nicht die seit dem zurückgeholten alten Zustand ausgelieferten Sicherheits-Fixes herauspicken, während der Rechner ansonsten auf dem alten Softwarestand verbleibt.
Im Vergleich zu einem nicht einsatzfähigen Computer erscheint da das Risiko, ein System hinter einer Firewall während eines arbeitsintensiven Monats ohne aktuelle Updates zu betreiben, als das geringere Übel. Mit einem veralteten Systemzustand zu arbeiten, ist zwar keine Dauerlösung, doch mit etwas Glück löst bereits das nächste Tumbleweed-Update in der kommenden Woche das Problem. Wenn nicht, bleibt immer noch das neuerliche Wiederherstellen des als funktionierend bekannten Zustands.
Lagerhaltung
Die technische Basis für die Snapshots stellt OpenSuses Standarddateisystem Btrfs bereit. Der von Suse entwickelte Dienst Snapper [4] kümmert sich lediglich darum, die Snapshots regelmäßig anzulegen, und erleichtert das Wiederherstellen. Der Snapshot-Mechanismus auf Basis von Funktionen des Linux-Kernels arbeitet zuverlässig und ressourcenschonend: Zusätzlichen Speicherplatz verbrauchen die Sicherungen nur in dem Maß, in dem der konservierte und der aktuelle Systemzustand auseinanderdriften. Das Anlegen und Löschen eines Snapshots dauert nur Sekundenbruchteile (Abbildung 5).

Abbildung 5: Der neu angelegte Snapshot**2 verweist im Btrfs-Dateisystem beim Anlegen einfach auf bestehende Daten. Erst deren Veränderung durchbricht die Bindung an die alten Speicherblöcke, und Blockinhalte sowie Verweisstrukturen werden neu geschrieben.
Die Ausgabe von snapper list zeigt die Größen der Snapshots in einem Tumbleweed-System an. Insgesamt fällt der Speicherverbrauch eher mäßig aus. Naturgemäß verbrauchen die am weitesten zurückliegenden Snapshots den meisten Platz. Wird es in der Systempartition eng, löschen Sie zuerst alte Snapshots mit snapper delete Nummer oder snapper delete Nummer1-Nummer2 für mehrere Snapshots. Die laufenden Nummern der Snapshots entnehmen Sie der Ausgabe von snapper list.
Beachten Sie, dass generische Programme zum Anzeigen der Festplattenbelegung wie Filelight oder Df auf der Kommandozeile für Btrfs ungenaue Werte liefern. Eine verlässlichere Auskunft gibt der Befehl sudo btrfs filesystem usage / (Abbildung 6). Wichtig sind die Werte Device size für den gesamten vorhandenen Speicherplatz sowie Free (estimated) aus dem Block Overall. Der Wert min in Klammern gibt die Höchstgröße für einen einzelnen Schreibvorgang an, ohne die nach und nach erfolgende interne Reorganisation des Dateisystems abzuwarten.

Abbildung 6: Ein Nachteil des Btrfs-Dateisystems: Nur das Kommando btrfs filesystem liefert exakte Werte zum freien Speicher.
Kämpfen Sie permanent mit Platzproblemen in der Systempartition, sollten Sie die Zahl der automatisch vorgehaltenen Snapshots verringern. Das Kommando aus der ersten Zeile von Listing*1 zeigt die Snapper-Konfiguration für die Systempartition in tabellarischer Form. Relevant für die Zahl der konservierten Snapshots sind die Werte für SPACE_LIMIT, FREE_LIMIT sowie NUMBER_LIMIT und NUMBER_LIMIT_IMPORTANT. Die ersten beiden Werte legen fest, welchen Anteil des verfügbaren Speicherplatzes die Snapshots maximal verbrauchen dürfen und wie viel Prozent Snapper mindestens freihalten soll. Standard sind 0.5 (50 Prozent) sowie 0.2 (20 Prozent).
Listing 1
Wichtige Snapper-Kommandos
$ sudo snapper -c root get-config $ sudo snapper -c root set-config NUMBER_LIMIT=1-2 $ snapper -c root create -c number --description "Beschreibung"
Höhere Priorität haben jedoch die beiden auf die Zahlenbereiche 2-10 und 4-10 voreingestellten NUMBER_LIMIT-Werte. Die Untergrenzen geben die Zahl der Snapshots vor, die Snapper unabhängig von den Größenlimits auf jeden Fall behält. Bei extremem Platzmangel lassen sie sich auf Kosten der für ein Restore vorliegenden Snapshots auf 1 reduzieren. Es ist immer noch besser, weniger Restore-Daten zur Verfügung zu haben, als mit einem vollgelaufenen Dateisystem kämpfen zu müssen. Besser planen Sie allerdings schon bei der Installation einige Gigabyte für die Snapshots ein.
Neue Einstellungswerte setzt das Kommando snapper set-config. Das Beispiel aus der zweiten Zeile von Listing 1 begrenzt die Zahl der vorgehaltenen Snapshots auf ein bis zwei.
Nehmen Sie wichtige Änderungen am System vor, ohne auf YaST zurückzugreifen, und besteht die Änderung nicht in einer Softwareinstallation mit Zypper, bekommt Snapper davon nichts mit und hält die Änderung nicht per Snapshot fest. Sie dürfen aber manuell einen Snapshot anlegen (Listing 1, letzte Zeile), zu dem Sie ihr System genauso zurückdrehen wie zu den automatisch angelegten.
Herauspicken
Wie erwähnt, gelingt ein Zurückspielen einzelner Pakete häufig nicht. Oft, aber keineswegs immer, scheitert es an den Abhängigkeiten. Das Zurückspielen zusammenhängender Systemzustände ist erfolgversprechender. Dennoch gibt es Möglichkeiten, den Downgrade einzelner Pakete zu versuchen, statt das gesamte System in die Vergangenheit zurückzutransportieren.
Zunächst einmal sollten Sie sich einen Überblick verschaffen, welche in letzter Zeit aufgefrischten oder installierten Pakete es gibt. Die für menschliche Betrachter äußerst unübersichtliche Datei /var/log/zypp/history zeichnet die Installationshistorie auf. Zum Glück präsentiert das YaST-Modul Software unter Extras | Verlauf eine grafisch aufbereitete Version (Abbildung 7).

Abbildung 7: OpenSuse protokolliert alle (De-)Installationen und Updates von Paketen. Das YaST-Modul Software bereitet die Daten grafisch auf.
Finden Sie ein Paket, dessen Aktualisierung Sie mit einem Fehler im gegenwärtigen System in Zusammenhang bringen, beschaffen Sie sich unter https://download.opensuse.org/history/ eine bis zu einem Monat alte Vorgängerversion.
Wechseln Sie zum Herunterladen der Pakete in das Unterverzeichnis mit dem Namen des Erstelldatums wie 20250427/ und öffnen Sie dort das Unterverzeichnis tumbleweed/repo/. Dann suchen Sie per Search-Feld rechts oben (Abbildung 8) freie Software in den Verzeichnissen oss/x86_64/ und oss/noarch/.

Abbildung 8: Über das Suchfeld finden Sie ältere Versionen von Tumbleweed-Paketen in den Ordnern x86_64/ (ausführbare Dateien) und noarch/ (Hilfsdateien wie Sprachpakete).
Nach dem Herunterladen lassen sich die in einem gemeinsamen Verzeichnis abgelegten Pakete hoffentlich mit dem Kommando aus der ersten Zeile von Listing 2 ohne Abhängigkeitsprobleme installieren. Anschließend sollten Sie das Programm zuerst über die Kommandozeile starten und auf Fehlermeldungen achten. Behalten Sie im Hinterkopf, dass nicht unbedingt das Upgrade des Programms selbst für Fehlfunktionen verantwortlich zeichnet: Auch eine von ihm genutzte Bibliothek kann die Fehlerquelle sein.
Das YaST-Modul Softwarerepositorys kann alternativ einen Download-Cache für Pakete aus den Online-Repos zuschalten (Abbildung 9). Alle installierten Pakete bleiben dann in den Unterverzeichnissen von /var/cache/zypp/packages/ als lokale RPM-Dateien verfügbar, bis Sie den Cache mit sudo zypper clean leeren. Dabei sollten Sie den freien Speicherplatz im Auge behalten, denn unter Tumbleweed laufen beim Zwischenspeichern von Paketdateien schnell etliche Gigabyte auf. Lokal vorliegende RPM-Dateien installieren Sie mit dem Kommando aus der letzten Zeile von Listing 2.

Abbildung 9: Über die Option Heruntergeladene Pakete behalten legen Sie – ausreichend Speicherplatz vorausgesetzt – Ihr eigenes Archiv für früher installierte Versionen von Paketen an.
Listing 2
Zypper-Kommandos für alte Pakete
$ sudo zypper in --oldpackage /Pfad/zum/Ordner/*.rpm $ sudo zypper in --oldpackage /Pfad/zum/Ordner/Paket.rpm
Fazit
Trauen Sie sich das Einspielen von Aktualisierungen mit sudo zypper dup auf der Konsole zu und können bei Problemen einen älteren Systemzustand im Bootmenü (Abbildung 3) auswählen und per Konsolenbefehl zurückspielen, sind Sie bei Tumbleweed gut aufgehoben.
Tumbleweed und Leap richten den zugrunde liegenden Snapshot-Mechanismus gleich bei der Installation ein. Die von Suse dafür entwickelte freie Software Snapper [4] gibt es auch für andere gängige Distributionen. Deren Anwender, besonders die von Rolling-Release-Distributionen, profitieren davon, müssen den Dienst allerdings per Hand einrichten. Zudem funktioniert das Ganze nur, wenn die Systempartition mit Btrfs formatiert ist. Tumbleweed-Anwender erhalten diesen Service frei Haus, und selbst Linux-Neulinge erlernen den Umgang damit leicht. (uba/jlu)
Infos
-
Tumbleweed: https://get.opensuse.org/tumbleweed/
-
Arch Linux: https://archlinux.org
-
Snapper: https://de.opensuse.org/SDB:Snapper





