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 :
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_name
contient 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.