====== Snapper ====== Fournit une abstraction des snapshots BTRFS et permet de faire automatiquement des instantanés lors des mises à jour avec APT. * [[https://wiki.archlinux.org/index.php/snapper]] * [[https://gist.github.com/broedli/4f401e0097f185ba34eb]] ==== Mise en place ==== sudo apt install snapper sudo snapper -c root create-config / Désactiver les instantanés automatiques en définissant à ''no'' la clé ''TIMELINE_CREATE'' dans ''/etc/snapper/configs/root'' et en désactivant le timer: sudo systemctl disable snapper-timeline.timer Désactiver les instantanés au démarrage: sudo systemctl disable snapper-boot.timer Dupliquer dans ''/etc/fstab'' l'entrée la partition gérée par snapper pour considérer les snapshots ([[https://github.com/openSUSE/snapper/issues/159]]): UUID=9a56fcd5-7718-4fc2-a6d1-d4247d7d155e /.snapshots btrfs subvol=.snapshots 0 0 ==== Lister les snapshots ==== sudo snapper -c root list ''root'' est la configuration par défaut, donc il n'est pas nécessaire de la préciser. ==== Supprimer des snapshots ==== sudo snapper rm 1211-1234 ==== Restaurer un snapshot ==== === À chaud === sudo snapper list sudo snapper rollback ${id_of_snapshot_to_get_back} Va créer deux snapshots: un en lecture-seule de l'état actuelle du disque, et va dupliquer le snapshot auquel on souhaite revenir, enlever sa lecture-seule et le définir comme sous-volume par défaut. Il faut ensuite redémarrer. === Depuis un live CD ==== Utiliser un [[https://www.debian.org/CD/live/#__do_not_save__|live CD Debian]] et booter dessus. sudo apt update sudo apt install btrfs-progs snapper sudo mkdir /mnt/dd sudo mount /dev/sda1 /mnt/dd sudo mount -o subvol=.snapshots /dev/sda1 /mnt/dd/.snapshots sudo snapper --no-dbus -r /mnt/dd list sudo snapper --no-dbus -r /mnt/dd rollback ${id_of_snapshot_to_get_back} Ça doit aussi être faisable en copiant la configuration de Snapper (''sudo cp /mnt/dd/etc/snapper/configs/root /etc/snapper/configs/dd''), en adaptant la clé ''SUBVOLUME'' de la configuration et en ajoutant cette configuration à la liste présente dans le fichier ''/etc/default/snapper'': ## Type: string ## Default: "" # List of snapper configurations. SNAPPER_CONFIGS="dd" S'il faut régénérer Grub (qui est sur une partition différente): mkdir /media/temporary mount -o subvol=/subvolumes/root /dev/sdXX /media/temporary cd /media/temporary mount -o bind /dev dev mount -o bind /sys sys mount -o bind /proc proc mount -o bind /boot boot # only necessary if you have a separate boot partition chroot . update-grub exit (non testé)