Be smart. Think open source.
Snapshots erstellen
Snapshots löschen
Snapshots vergleichen
Änderungen zwischen Snapshots anzeigen
Unterstützt btrfs, ext4 und thin-provisioned LVM
ACL & xattr Support
CLI, DBus und GUI-Interface
SLE 12 integriert Snapper und erstellt selbständig Snapshots (z.B. vor dem Ausführen eines Updates)
Es gibt zwei unterschiedliche Varianten wie Snapper in Problem-Situationen unterstützen kann
Änderungen rückgängig machen (selektiv)
Rollback des "gesamten" Systems
Snapper kann die Integrität von Dateien nicht sicherstellen!
Ein Rollback z.B. einer Datenbank ist somit immer mit dem Risiko inkonsistenter Daten verbunden
Nicht alle Verzeichnisse und Dateien sind im Snapshot enthalten, SUSE definiert diverse (sinvolle) Ausnahmen
/var/log
Beschreibung zu den Ausnahmen führt der SLE Administrator Guide auf:
DE: ...
EN: 3.1.2 Directories That Are Excluded from Snapshots
Bei jeder YAST oder zypper Transaktion erstellt Snapper zwei Snapshots:
"post"-Snapshot, nach der Änderung
Mit dem YAST-Modul für snapper oder mit dem snapper CLI-Tool können die entsprechenden Änderungen rückgängig gemacht werden
Zudem gibt es eine Boot-Option, um das System von einem Snapshot zu booten
Snapshots können auch manuell erstellt werden
snapper create
Snapper kann zwischen zwei Snapshots ein Diff erstellen
snapper list
snapper diff $id1..$id2 $path
Ein System kann mittels Snapshots auf einen älteren Stand zurückgesetzt werden
Einschränkungen
root Dateisystem muss btrfs sein
das root Dateisystem muss auf einem einzelnen Device liegen
der Bootloader muss noch geladen werden können
Im Boot-Menü kann ein Snapshot ausgewählt werden
Danach bootet das System im read-only Modus und man kann den Zustand prüfen
Der Snapshot kann mit folgendem Command übernommen werden
snapper Rollback
Snapshots können via YAST oder über das CLI gelöscht werden
Via CLI
snapper delete $id
Wenn ein "pre"-Snapshot gelöscht wird, sollte auch der korrespondierende "post"-Snapshot gelöscht werden
Es ist aktuell nicht möglich, herauszufinden, wie viel Platz ein Snapshot belegt
Der freie Platz auf einem btrfs Volume sollte immer mit btrfs Tools ermittelt werden:
btrfs filesystem df $path
Die Snapper Config liegt unter /etc/snapper/configs/root
Informationen zu der Config:
man 8 snapper
man 5 snapper-configs
Adfinis SyGroup AG, 2016, Attribution-NonCommercial 2.0 (CC BY-NC 2.0)