Snapper is a tool for Linux filesystem snapshot management. Apart from the obvious creation and deletion of snapshots, it can compare snapshots and revert differences between snapshots. In simple terms, this allows root and non-root users to view older versions of files and revert changes.
The features include:
- Manually create snapshots
- Automatically create snapshots, e.g. with YaST and zypp
- Automatically create timeline of snapshots
- Show and revert changes between snapshots
- Works with btrfs, ext4 and thin-provisioned LVM volumes
- Supports Access Control Lists and Extended Attributes
- Automatic cleanup of old snapshots
- Command line interface
- D-Bus interface
- PAM module to create snapshots during login and logout
Snapper and openSUSE
SUSE and openSUSE typically use the Btrfs file system for the root partition. Snapper uses the powerful snapshot capabilities of Btrfs to provide simple and powerful mechanism to restore the system to a previous known working state if something goes wrong. It takes a snapshot before and after invoking YaST or zypper, so if a miss-configuration occurs one can easily roll back to a previous known working snapshot. Snapshots can also be created manually at any time.