Zum Inhalt springen

Automatische Systemschnappschüsse

Ditana erstellt vor einer Systemaktualisierung über einen pacman-Hook automatisch einen Schnappschuss des Systemzustands. Das wird im Installationsprogramm unabhängig vom gewählten Dateisystem unter Advanced Settings → System Maintenance Tools → Configure Automatic System Snapshots eingerichtet (standardmässig aktiviert).

Wie oft das geschieht, ist unterschiedlich. Auf ZFS geht jeder Aktualisierung ein Schnappschuss voraus. Auf BTRFS, XFS und EXT4 erstellt timeshift-autosnap höchstens alle 18 Stunden einen Schnappschuss (minHoursBetweenSnapshots in /etc/timeshift-autosnap.conf), sodass eine zweite Aktualisierung am selben Tag keinen neuen auslöst. In beiden Fällen werden drei aufbewahrt (maxSnapshots).

Auf ZFS und BTRFS sind Schnappschüsse atomar – in einem einzigen Augenblick aufgenommen, mit vernachlässigbarem Speicher- und Zeitaufwand. Auf XFS und EXT4 wird Timeshift im rsync-Modus verwendet; der erste Schnappschuss ist der langsamste, und die folgenden sind typischerweise in weniger als fünf Sekunden fertig.

Das Installationsprogramm erstellt den ersten Schnappschuss selbst, unmittelbar vor dem ersten Neustart, sodass vom ersten Tag an eine saubere Ausgangsbasis besteht – Sie können auf «frisch installiert» zurücksetzen, ohne vorher je eine Aktualisierung durchgeführt zu haben. Auf ZFS bleibt diese Ausgangsbasis nicht erhalten: Der Schnappschuss ist wie jeder andere automatische Schnappschuss benannt und ist der älteste, sodass ihn die Aufbewahrungsgrenze nach drei Aktualisierungen entfernt. Benennen Sie ihn um oder erhöhen Sie maxSnapshots, wenn Sie ihn behalten möchten. Unter Timeshift bleibt er erhalten, weil der Löschfilter nicht auf ihn zutrifft.

Schnappschüsse umfassen nur das System. Ihr Benutzerverzeichnis und andere Daten-Volumes sind nicht enthalten. Das Wiederherstellen eines Systemschnappschusses lässt Ihre persönlichen Dateien unberührt – Sie setzen das System zurück und behalten Ihre Arbeit.

Sonderfall: Zurücksetzen auf den Schnappschuss des Installationsprogramms

Abschnitt «Sonderfall: Zurücksetzen auf den Schnappschuss des Installationsprogramms»

Wenn Sie auf den allerersten Schnappschuss zurücksetzen, der am Ende der Installation erstellt wurde, hat das eine kleine Folge: Der Dienst, der beim ersten Start die Flatpaks bereitstellt (ditana-flatpak-finalize.service), läuft beim nächsten Systemstart erneut und installiert die Flatpaks, die Sie ursprünglich gewählt haben, neu. Er ist vor dem Anmeldebildschirm eingeplant und verzögert diesen absichtlich, während er herunterlädt; ein Systemstart, der eine Weile auf einer Textkonsole stehen bleibt, ist also das erwartete Verhalten und kein Hängenbleiben. Das ist so gewollt – diese Flatpaks gehören zum konfigurierten System und werden deshalb zusammen mit allem anderen wiederhergestellt. Spätere Zurücksetzungen (auf Schnappschüsse nach Abschluss des ersten Starts) zeigen dieses Verhalten nicht.

Umgang mit der Sperrdatei unter ZFS

Abschnitt «Umgang mit der Sperrdatei unter ZFS»

Ditana liefert einen eigenen Fork von zfs-autosnap aus, der die pacman-Sperrdatei (/var/lib/pacman/db.lck) im Moment des Schnappschusses zur Seite schiebt und danach zurückstellt, sodass der Schnappschuss keine Sperrdatei enthält. Deshalb haben Sie nach einem Zurücksetzen unter ZFS sofort ein funktionsfähiges pacman – ohne den manuellen Schritt rm /var/lib/pacman/db.lck. Die Upstream-Variante mit Timeshift für Dateisysteme ausser ZFS berücksichtigt das nicht; deshalb enthält das Vorgehen bei der Wiederherstellung mit Timeshift weiter unten diesen manuellen Schritt.

Vorgehen bei der Wiederherstellung

Abschnitt «Vorgehen bei der Wiederherstellung»

Auf ZFS gibt es einen kürzeren Weg, der überhaupt kein Medium braucht. ZFSBootMenu kann einen Schnappschuss direkt starten: Unterbrechen Sie es beim Start, wählen Sie die Boot-Umgebung und wählen Sie aus der angezeigten Liste den gewünschten Schnappschuss. Die Ausgangsbasis des Installationsprogramms heisst autosnap_after_ditana_installation. Alles Folgende ist für den Fall gedacht, dass das nicht ausreicht, oder für ein anderes Dateisystem als ZFS.

Wenn Ihr System nicht mehr startet, starten Sie vom Ditana-ISO. Es fragt, ob es für die gefundene Installation das Rettungssystem starten soll; antworten Sie mit Ja, dann bindet es das installierte System ein und listet die darin enthaltenen Schnappschüsse auf. Die folgenden Befehle führen Sie in diesem Rettungssystem aus – nicht in der blossen Live-Umgebung, die weder Timeshift noch den importierten Pool hat.

Listen Sie die verfügbaren Schnappschüsse auf:

Terminalfenster
zfs list -t snapshot

Beispielausgabe:

NAME USED AVAIL REFER MOUNTPOINT
ditana-root/ROOT/default@autosnap_2026-05-19_23-14-41 453K - 3.96G -
ditana-root/ROOT/default@autosnap_2026-05-19_23-25-28 394K - 3.96G -
ditana-root/ROOT/default@autosnap_2026-05-19_23-26-06 1.05M - 3.96G -

Stellen Sie einen bestimmten Schnappschuss wieder her:

Terminalfenster
sudo zfs rollback ditana-root/ROOT/default@autosnap_2026-05-19_23-26-06

zfs rollback verweigert den Vorgang, solange neuere Schnappschüsse existieren, was der Normalfall ist, sobald sich mehrere angesammelt haben. Löschen Sie diese zuerst, oder übergeben Sie -r, damit der Befehl sie für Sie löscht – alles, was neuer ist als der Schnappschuss, den Sie wiederherstellen, ist so oder so verloren.

Automatische Schnappschüsse werden von timeshift-autosnap verwaltet, das vor jeder vollständigen Aktualisierung einen Schnappschuss erstellt.

Listen Sie die verfügbaren Schnappschüsse auf:

Terminalfenster
sudo timeshift --list

Beispielausgabe:

Mounted '/dev/dm-0 (sda4)' at '/run/timeshift/195216/backup'
Device : /dev/dm-0 (sda4)
Mode : RSYNC
Num Name Tags Description
------------------------------------------
0 > 2026-05-19_18-04-37 0 after installation of Ditana GNU/Linux

Stellen Sie einen Schnappschuss wieder her:

Terminalfenster
sudo timeshift --restore --snapshot 2026-05-19_18-04-37

Wenn Sie dazu aufgefordert werden, installieren Sie GRUB2 nicht neu, auch wenn Timeshift es empfiehlt – es setzt ein Werkzeug update-grub voraus, das Ditana nicht verwendet. Wenn Sie GRUB nach der Wiederherstellung aktualisieren müssen, führen Sie Folgendes aus:

Terminalfenster
grub-mkconfig -o /boot/grub/grub.cfg

Heben Sie nach einer Wiederherstellung mit Timeshift ausserdem die Sperre der pacman-Datenbank auf:

Terminalfenster
sudo rm /var/lib/pacman/db.lck

Das ist nötig, weil timeshift-autosnap (das Upstream-Projekt für Dateisysteme ausser ZFS) die pacman-Sperrdatei als Teil des Schnappschusses mit aufnimmt. Ditanas zfs-autosnap-Fork entfernt die Sperrdatei vor dem Schnappschuss; deshalb ist der entsprechende Schritt auf ZFS unnötig (zfs rollback genügt).

Diese Übersetzung wurde maschinell erstellt. Leserinnen und Leser verbessern sie auf Weblate.