Wie man automatisierte Btrfs-Snapshots auf Ubuntu Desktop einrichtet

Die Installationsanleitung für Ubuntu Desktop 26.04 LTS listet die Standard- und erweiterten Festplattenkonfigurationsoptionen auf, führt Btrfs jedoch nicht als Installationsmedium auf. Sie wurde zuletzt am 6. Mai 2026 aktualisiert. Das bedeutet, dass ein Ubuntu-Desktop mit Btrfs möglicherweise ein benutzerdefiniertes Partitions- oder Subvolume-Layout verwendet. Bevor Sie Snapshots automatisieren, ermitteln Sie, was tatsächlich unter /usr/bin gemountet ist /. Ein Snapper-Befehl, der von einem Btrfs-Root-Subvolume ausgeht, kann fehlschlagen oder die falschen Daten sichern. Diese Anleitung richtet stündliche Snapshots mit Snapper auf einem verifizierten Btrfs-Subvolume ein und aktiviert anschließend die geplante Bereinigung, damit sich alte Snapshots nicht unbegrenzt ansammeln.

Snapper ist in den Ubuntu-Repositories verfügbar, und die Pakete von Ubuntu 26.04 LTS (Resolute) enthalten systemd-Units für die Timeline und die Aufräumarbeiten. Die folgenden Befehle gelten für ein System, dessen Snapshot-Ziel ein Btrfs-Subvolume ist. Falls Ihre Ubuntu-Installation ext4, LVM oder eine Btrfs-Einbindung auf oberster Ebene anstelle des zu schützenden Subvolumes verwendet, stoppen Sie die Layoutprüfung und beheben Sie dieses Problem zuerst.

Was schützt ein Btrfs-Snapshot?

Ein Btrfs-Snapshot ist ein zu einem bestimmten Zeitpunkt gespeicherter Teil des Datenträgers, der anfänglich die gleichen Dateibereiche wie sein Quellsystem aufweist. Er eignet sich zur Wiederherstellung von Dateien oder zum Vergleich von Systemzuständen nach einer versehentlichen Bearbeitung oder Aktualisierung. Es handelt sich nicht um eine unabhängige Datensicherung: Der Snapshot verbleibt auf demselben Dateisystem, sodass ein Festplattenausfall, eine Beschädigung des Dateisystems, Diebstahl oder das versehentliche Löschen des gesamten Dateisystems sowohl die aktuellen Daten als auch die Snapshots mit sich reißen können.

Snapshots erfassen keine verschachtelten Subvolumes rekursiv. Wenn /homees sich um ein separates Subvolume handelt, enthält ein Snapshot des Root-Subvolumes nicht dessen Inhalt /home. Planen Sie für jedes zu schützende Subvolume eine eigene Snapper-Konfiguration oder verwenden Sie ein separates Backup für Benutzerdaten. Bewahren Sie eine zweite Kopie auf einem anderen Gerät oder einem entfernten System für die Notfallwiederherstellung auf.

1. Stellen Sie sicher, dass Ubuntu auf Btrfs läuft.

Öffnen Sie das Terminal und überprüfen Sie die Root-Einbindung:

findmnt -no SOURCE,FSTYPE,OPTIONS /
sudo btrfs subvolume show /
sudo btrfs subvolume list /

Der erste Befehl sollte btrfsden Dateisystemtyp ausgeben. Überprüfen Sie die Mount-Optionen des entsprechenden subvol=Eintrags und nutzen Sie die Subvolume-Liste, um das Layout zu verstehen. Der zweite Befehl sollte das unter /usr/local/bin gemountete Subvolume identifizieren /. Wenn der Dateisystemtyp nicht Btrfs ist, ist dieses Snapper-Verfahren nicht anwendbar. Falls der Befehl meldet, dass /es sich nicht um ein Subvolume handelt oder dass es sich um das oberste Subvolume handelt, erstellen Sie nicht einfach blind eine Snapper-Root-Konfiguration. Das oberste Subvolume von Btrfs unterliegt besonderen Einschränkungen; verwenden Sie stattdessen ein korrekt gestaltetes Subvolume-Layout oder erstellen Sie einen Snapshot eines verifizierten separaten Subvolumes.

Prüfen Sie separat, ob /homees sich um einen Mountpunkt oder ein Subvolume handelt. Falls es sich um ein findmnt /homeseparates Subvolume sudo btrfs subvolume show /homehandelt und Sie Snapshots Ihrer persönlichen Dateien erstellen möchten, ist eine eigene Konfiguration erforderlich. Berücksichtigen Sie außerdem, ob sich andere wichtige Pfade, wie z. B. ein separater Daten-Mountpunkt, auf einem anderen Dateisystem befinden. Ein Root-Snapshot schließt diese nicht automatisch ein.

2. Installieren Sie Snapper und die Btrfs-Tools.

Sobald Sie bestätigt haben, dass es sich beim Ziel um ein Btrfs-Subvolume handelt, installieren Sie die Ubuntu-Pakete:

sudo apt update
sudo apt install snapper btrfs-progs

snapperVerwaltet Snapshot-Konfigurationen und deren Aufbewahrung; btrfs-progsstellt Dateisystem-Dienstprogramme zur Verfügung, die für die Untersuchung von Btrfs nützlich sind. Prüfen Sie, ob bereits Konfigurationen vorhanden sind, bevor Sie eine neue erstellen:

sudo snapper list-configs

Wenn bereits eine Konfiguration mit dem entsprechenden Namen rootauf das richtige Root-Subvolume verweist, behalten Sie diese bei und überprüfen Sie ihre Einstellungen, anstatt eine Kopie zu erstellen. Wenn die Ausgabe leer ist und /das Subvolume, das Sie schützen möchten, bereits verifiziert wurde, erstellen Sie die Konfiguration.

sudo snapper -c root create-config /

Der create-configBefehl erstellt die Snapper-Konfiguration und das zugehörige Snapshot-Verzeichnis für das ausgewählte Subvolume. Falls gemeldet wird, dass die Konfiguration bereits existiert oder der Pfad kein Subvolume ist, brechen Sie den Vorgang ab und überprüfen Sie die aktuelle Konfiguration. Löschen Sie keine bestehende Konfiguration, um den Befehl zu erzwingen.

3. Wählen Sie einen Snapshot-Zeitplan und eine Aufbewahrungsrichtlinie.

Der Zeitleistenmodus von Snapper erstellt stündliche Snapshots, und der Bereinigungsalgorithmus speichert ausgewählte stündliche, tägliche, wöchentliche, monatliche und jährliche Snapshots. Bei begrenztem Speicherplatz empfiehlt es sich, mit einer moderaten Richtlinie zu beginnen und den Speicherverbrauch zu überwachen, anstatt einen unbegrenzten Verlauf zu speichern. Dieses Beispiel erstellt sechs stündliche, sieben tägliche, vier wöchentliche und drei monatliche Snapshots, jedoch keine jährlichen.

sudo snapper -c root set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'

Diese Werte beschreiben Aufbewahrungskategorien; sie stellen keine feste Obergrenze für den Speicherplatz dar. Eine geänderte oder gelöschte große Datei kann alte Datenbereiche so lange belegen, wie Snapshots darauf verweisen. Der verfügbare Speicherplatz hängt auch von anderen Btrfs-Subvolumes und -Dateien ab. Überprüfen Sie df -h /die Werte sudo btrfs filesystem usage /regelmäßig und reduzieren Sie die Aufbewahrungsdauer oder fügen Sie zusätzlichen Speicherplatz hinzu, wenn das Dateisystem voll wird. Vermeiden Sie es, mehrere Konfigurationen gleichzeitig zu bearbeiten: Führen Sie sudo snapper -c root get-confignach jeder Änderung einen neuen Befehl aus und überprüfen Sie die Werte.

4. Aktivieren Sie die systemd-Timer von Snapper.

Unter Ubuntu 26.04 LTS enthält die Snapper-Paketdateiliste die Pakete `snapper . snapper-timeline.timer...snapper-cleanup.timer

sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer

Prüfen Sie, ob sie geladen sind, und sehen Sie nach, wann sie das nächste Mal eingeplant sind:

systemctl list-timers snapper-timeline.timer snapper-cleanup.timer
systemctl status snapper-timeline.timer snapper-cleanup.timer

Ein als aktiv angezeigter Timer bedeutet, dass systemd den Zeitplan geladen hat; dies beweist jedoch nicht automatisch, dass Snapper erfolgreich einen Snapshot erstellt hat. Überprüfen Sie nach dem nächsten Durchlauf der Zeitleiste die Konfiguration und die Snapshot-Liste.

sudo snapper list-configs
sudo snapper -c root list

Wenn nach dem geplanten Lauf kein Zeitachsen-Snapshot angezeigt wird, überprüfen Sie, ob die TIMELINE_CREATEEinstellung auf „true“ gesetzt ist yes, und prüfen Sie anschließend das Dienstprotokoll mit dem Befehl `service_log` journalctl -u snapper-timeline.service -b. Erstellen Sie keinen benutzerdefinierten Timer, bevor Sie die Paketeinheiten und Protokolle geprüft haben; doppelte Zeitpläne können zu mehr Snapshots als beabsichtigt führen.

5. Fügen Sie eine separate Konfiguration für ein Btrfs-Home-Subvolume hinzu.

Führen Sie diese Schritte nur aus, wenn Ihre Layoutprüfung bestätigt hat, dass /homees sich selbst um ein Btrfs-Subvolume handelt und Ihr Ziel Benutzerdateien umfasst. Führen Sie zunächst den Befehl aus sudo snapper list-configsund stellen Sie sicher, dass der Name homenicht verwendet wird. Erstellen Sie anschließend eine Konfiguration für dieses Subvolume und wenden Sie eine separate Aufbewahrungsrichtlinie an.

sudo snapper -c home create-config /home
sudo snapper -c home set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'

Die gleichen systemd-Timer verarbeiten Snapper-Konfigurationen, bei denen die Erstellung und Bereinigung von Timelines aktiviert ist. Daher ist ein separater Timer normalerweise nicht erforderlich. Stellen Sie sicher, dass dies sudo snapper -c home listfunktioniert und sudo snapper -c home get-configdie gewünschten Werte angezeigt werden. Ein Verzeichnis mit dem Namen „/snapper“ /homeist nicht automatisch ein separates Subvolume; überprüfen Sie dies vor der Ausführung create-config.

Woran erkennt man, dass die Automatisierung funktioniert?

  • Konfiguration: sudo snapper list-configs Zeigt den vorgesehenen Namen und das Subvolume an.
  • Richtlinie: sudo snapper -c root get-config Erstellung und Bereinigung von Berichtszeitleisten aktiviert.
  • Zeitplan: systemctl list-timers Zeigt die beiden Snapper-Timer und ihre nächsten Laufzeiten an.
  • Momentaufnahmen: sudo snapper -c root list Zeigt datierte Einträge nach Ablauf des Timers an.
  • Dienststatus: journalctl -u snapper-timeline.service -b Es treten keine wiederkehrenden Fehler auf, die die Erstellung von Snapshots verhindern.

Wenn Ihr Computer zu einem geplanten Zeitpunkt heruntergefahren wird, kann je nach Geräteeinstellungen ein Timer später ausgeführt werden. Dies ersetzt jedoch nicht die Überprüfung der erstellten Snapshots. Ein kurzer manueller Test kann bestätigen, dass Snapper einen Snapshot erstellen kann: Führen Sie den Befehl aus sudo snapper -c root create --description 'setup test'und listen Sie anschließend die Snapshots erneut auf. Dadurch wird die Konfiguration, nicht der Timer, geprüft. Entfernen Sie den Test-Snapshot erst, wenn Sie sicher sind, den richtigen Eintrag ausgewählt zu haben.

Was kann schiefgehen und was sollte man vermeiden?

Erstens belegen Snapshots mit der Zeit Speicherplatz im gemeinsam genutzten Dateisystem. Aufbewahrungsrichtlinien reduzieren zwar den Verlauf, die Menge der aufbewahrten Daten variiert jedoch mit den Dateiänderungen. Überwachen Sie den freien Speicherplatz und stellen Sie sicher, dass die Bereinigung aktiv ist. Zweitens kann ein Root-Snapshot verschachtelte Subvolumes wie z. B. `/var/log/` auslassen /home; ein erfolgreicher Befehl bedeutet nicht, dass jeder eingebundene Pfad geschützt ist. Drittens garantieren Snapper-Snapshots allein kein bootfähiges Rollback. Snapper dokumentiert, dass für ein Rollback ein korrekt konfiguriertes Btrfs-System erforderlich ist. Das Mount-Layout von Ubuntu, die Boot-Konfiguration, die Verschlüsselung und die separaten Dateisysteme bestimmen, welche Wiederherstellung möglich ist. Bevor Sie sich auf ein Rollback verlassen, testen Sie einen Wiederherstellungsplan mit separaten Backup- und Wiederherstellungsmedien.

Automatische Snapshots ersetzen keine Backups. Kopieren Sie wichtige Dateien auf ein anderes Gerät oder einen externen Speicherort und überprüfen Sie regelmäßig, ob Sie diese Dateien wiederherstellen können. Für eine optimale Zuverlässigkeit Ihres Ubuntu-Desktops verwenden Sie Snapper für praktische lokale Wiederherstellungspunkte, ein separates Backup-Tool für unabhängige Kopien und ein getestetes Wiederherstellungsverfahren für Systemausfälle.

Offizielle Referenzen

Einen Kommentar hinterlassen

Wie man ein entferntes SSHFS-Verzeichnis beim Systemstart in Debian automatisch einbindet

Wie man ein entferntes SSHFS-Verzeichnis beim Systemstart in Debian automatisch einbindet

Automatisches Einbinden eines entfernten SSHFS-Verzeichnisses beim Systemstart in Debian mittels schlüsselbasiertem SSH, /etc/fstab, systemd-Netzwerkoptionen, automatischem Einbinden und Verifizierungsschritten.

Behebung des Fehlers „Speicher kann nicht zugewiesen werden“ während eines SLES-System-Upgrades

Behebung des Fehlers „Speicher kann nicht zugewiesen werden“ während eines SLES-System-Upgrades

Beheben Sie den Fehler „Speicher kann nicht zugewiesen werden“ während eines SLES-Upgrades. Überprüfen Sie RAM, Swap-Speicher, OOM-Protokolle und Prozesslimits und beheben Sie das Problem, ohne die Pakettransaktionen zu unterbrechen.

Behebung von Touchscreen-Kalibrierungsproblemen auf Harmonica OS-Tablets: Die richtige Linux-Lösung auswählen

Behebung von Touchscreen-Kalibrierungsproblemen auf Harmonica OS-Tablets: Die richtige Linux-Lösung auswählen

Beheben Sie Probleme mit Touch-Offset, Rotation und Display-Mapping auf Harmonica OS (HamoniKR)-Tablets. Vergleichen Sie die Korrekturen von X.Org und libinput, testen Sie sicher und erkennen Sie, wann eine Kalibrierung nicht hilft.

Wie man eine verschlüsselte Swap-Partition unter Debian 12 einrichtet

Wie man eine verschlüsselte Swap-Partition unter Debian 12 einrichtet

Verschlüsseln Sie eine bestehende Debian 12 Swap-Partition mit dm-crypt, einem neuen zufälligen Schlüssel bei jedem Systemstart, /etc/crypttab, /etc/fstab und sicheren Verifizierungsschritten.

Wie man den Zustand von SMART-Laufwerken unter Ubuntu per E-Mail-Benachrichtigung überwacht

Wie man den Zustand von SMART-Laufwerken unter Ubuntu per E-Mail-Benachrichtigung überwacht

Richten Sie smartmontools unter Ubuntu ein, um den Zustand von Laufwerken zu überwachen und SMART-E-Mail-Benachrichtigungen zu versenden. Prüfen Sie die Geräteunterstützung, konfigurieren Sie die E-Mail-Zustellung, testen Sie Benachrichtigungen und beheben Sie Fehler.

Behebung des Fehlers „Kein bootfähiges Gerät gefunden“ nach der Installation von Debian auf einem UEFI-System

Behebung des Fehlers „Kein bootfähiges Gerät gefunden“ nach der Installation von Debian auf einem UEFI-System

Beheben Sie Debian UEFI-Bootfehler, indem Sie den Bootmodus des Installationsprogramms, die EFI-Systempartition, NVRAM-Einträge, GRUB-EFI-Dateien, Secure Boot und Firmware-Fallbacks überprüfen.

Wie man automatisierte Btrfs-Snapshots auf Ubuntu Desktop einrichtet

Wie man automatisierte Btrfs-Snapshots auf Ubuntu Desktop einrichtet

Konfigurieren Sie Snapper so, dass es auf Ubuntu Desktop geplante Btrfs-Snapshots erstellt und löscht. Überprüfen Sie vorher Ihr Subvolume-Layout, aktivieren Sie die Systemd-Timer und stellen Sie die Aufbewahrungsdauer sicher.

Sicheres Beheben von Speicherplatzproblemen bei SUSE Linux Enterprise LVM Thin Provisioning

Sicheres Beheben von Speicherplatzproblemen bei SUSE Linux Enterprise LVM Thin Provisioning

Diagnostizieren und Wiederherstellen eines vollständigen LVM Thin Pools auf SUSE Linux Enterprise durch Unterscheidung von Daten- und Metadatenerschöpfung, Erweiterung des Speichers, Reparatur der Metadaten und Aktivierung der automatischen Erweiterung.

Debian 12 CIS Hardening Guide: A Step-by-Step Server Baseline

Debian 12 CIS Hardening Guide: A Step-by-Step Server Baseline

Harden Debian 12 Bookworm against the current CIS Benchmark v2.0.0 with a safe server workflow for updates, SSH, firewall, AppArmor, auditing, and validation.

So installieren Sie Flatpak- und Snap-Apps auf Gooroom OS

So installieren Sie Flatpak- und Snap-Apps auf Gooroom OS

Installieren Sie Flatpak- und Snap-Apps auf Gooroom OS mit Versionsprüfungen, Terminalbefehlen und einem praktischen Vergleich von Kompatibilität, Sicherheitskontrollen, Updates und Speicherplatz.