13.4. Annuler les changements entre les clichés

Pour annuler les changements effectués entre deux clichés Snapper existants, la commande undochange sera utilisée sous le format suivant : snapper -c config_name undochange 1..2 avec 1 pour le premier cliché et 2 pour le second.

Important

Utiliser la commande undochange ne renvoie pas un volume Snapper dans son état d'origine et ne produit aucune homogénéité parmi les données. Toute modification de fichier ayant lieu en dehors de la portée indiquée, par exemple après Cliché 2, demeurera inchangée après un retour en arrière, par exemple, vers l'état du Cliché 1. Ainsi, si undochange est exécuté pour annuler la création d'un utilisateur, tous les fichiers appartenant à cet utilisateur demeureront inchangés.
Il n'y a pas non plus de mécanisme qui permette d'assurer que l'homogénéité de fichier en tant que cliché est effectuée, donc les problèmes d'homogénéité déjà existants peuvent se transmettre au cliché quand on exécute undochange.
Ne pas utiliser la commande undochange dans un système de fichiers root, car vous risquez de ne pas aboutir à vos fins.
Le diagramme suivant indique comme la commande undochange fonctionne :
Statut Snapper sur la durée

Figure 13.1. Statut Snapper sur la durée

Le diagramme indique le moment où snapshot_1 a été créé, file_a est créé, puis file_b supprimé. Snapshot_2 est alors créé. après quoi file_a est modifié et file_c est créé. C'est actuellement l'état du système. Le système actuel possède une version modifiée de file_a, aucun file_b, et un nouveau fichier file_c.
Quand on appelle la commande undochange, Snapper crée une liste de fichiers modifiés entre le premier cliché listé et le second. Dans le diagramme, si la commande est snapper -c SnapperExample undochange 1..2, Snapper crée une liste de fichiers modifiés (c'est à dire que, file_a est créé ; file_b est supprimé) et les applique au système actuel. Ainsi, le système actuel n'aura pas de fichier file_a (qui reste à créer une fois que snapshot_1 a été créé), file_b existera (copié à partir de snapshot_1 dans le système actuel), et file_c existera, car sa création était en dehors de la durée spécifiée. Sachez que, si file_b et file_c entrent en conflit, cela indique que le système pourrait devenir corrompu.
On peut aussi utiliser la commande snapper -c SnapperExample undochange 2..1. Dans ce cas, le système de fichiers actuel remplacera la version modifiée du fichier file_a par une copie de snapshot_1, annulant ainsi les modifications qui ont eu lieu sur ce fichier une fois que snapshot_2 a été créé.

Utiliser les commandes mount et unmount pour annuler les changements

La commande undochange n'est pas toujours la meilleure façon d'annuler des modifications. Avec les commandes status et diff, vous pouvez prendre des décisions informées.
Si besoin est, la commande mount active le cliché LVM Snapper respectif avant le montage. Les commandes mount et unmount peuvent être utiles si vous êtes, par exemple, interessé à monter des clichés et à en extraire une ancienne version manuellement. Les fichiers devront être annulés manuellement afin de pouvoir être copiés d'un cliché monté au système de fichiers actuel. Le système de fichiers actuel, cliché 0, est le système de fichiers live créé dans Procédure 13.1, « Créer un fichier de configuration Snapper ». Copier les fichiers dans la sous-arborescence du point de montage d'origine.
Les commandes mount et unmount peuvent être utilisées pour les requêtes explicites côté client. Le fichier /etc/snapper/configs/config_namecontient les variables ALLOW_USERS= and ALLOW_GROUPS= qui permettent d'ajouter des utilisateurs et des groupes. Puis, snapperd vous permet d'effectuer les opérations de montage pour les utilisateurs et les groupes ajoutés. Les commandes mount et unmount ne sont utiles que si vous souhaitez monter des clichés et naviguer leur contenu indépendemment du flux de travail de Snapper.