Le guide d'installation d'Ubuntu Desktop 26.04 LTS présente les options de configuration de disque standard et avancées, mais ne mentionne pas Btrfs comme système de fichiers compatible. Sa dernière mise à jour date du 6 mai 2026. Cela signifie qu'une installation Ubuntu Desktop utilisant Btrfs peut nécessiter une configuration de partitions ou de sous-volumes personnalisée. Avant d'automatiser les instantanés, il est essentiel d'identifier le volume monté/ ; une commande Snapper supposant un sous-volume racine Btrfs peut tomber en panne ou protéger des données incorrectes. Ce guide configure des instantanés horaires avec Snapper sur un sous-volume Btrfs vérifié, puis active le nettoyage planifié afin d'éviter l'accumulation indéfinie des anciens instantanés.
Snapper est disponible dans les dépôts Ubuntu, et les paquets Ubuntu 26.04 LTS (Resolute) incluent des unités systemd pour la gestion de la chronologie et les tâches de nettoyage. Les commandes ci-dessous concernent une machine dont la cible de l'instantané est un sous-volume Btrfs. Si votre installation Ubuntu utilise ext4, LVM ou un montage Btrfs de niveau supérieur au lieu du sous-volume que vous souhaitez protéger, arrêtez-vous à la vérification de la configuration et corrigez ce problème au préalable.
Que protège un instantané Btrfs ?
Un instantané Btrfs est un sous-volume figé dans le temps qui partage initialement les mêmes extensions de fichiers que sa source. Il est utile pour récupérer des fichiers ou comparer l'état du système après une modification ou une mise à jour erronée. Il ne s'agit pas d'une sauvegarde indépendante : l'instantané reste sur le même système de fichiers ; par conséquent, une panne de disque, une corruption du système de fichiers, un vol ou la suppression accidentelle de l'ensemble du système de fichiers peuvent entraîner la perte des données actives et des instantanés.
Les snapshots ne capturent pas non plus de manière récursive les sous-volumes imbriqués. Si /homeun sous-volume est distinct, un snapshot du sous-volume racine n'inclut pas son contenu /home. Prévoyez une configuration Snapper pour chaque sous-volume à protéger, ou utilisez une sauvegarde distincte pour les données utilisateur. Conservez une copie sur un autre appareil ou système distant pour la reprise après sinistre.
1. Vérifiez qu'Ubuntu fonctionne sur Btrfs.
Ouvrez le Terminal et examinez le point de montage racine :
findmnt -no SOURCE,FSTYPE,OPTIONS /
sudo btrfs subvolume show /
sudo btrfs subvolume list /
La première commande devrait indiquer btrfsle type de système de fichiers. Consultez les options de montage subvol=et utilisez la liste des sous-volumes pour comprendre leur organisation. La seconde commande devrait identifier le sous-volume monté /. Si le système de fichiers n'est pas Btrfs, cette procédure Snapper n'est pas applicable. Si la commande indique que ce /n'est pas un sous-volume, ou qu'il s'agit du sous-volume racine, ne tentez pas de créer une configuration Snapper racine sans précaution. Le sous-volume racine de Btrfs présente des limitations spécifiques ; utilisez une organisation de sous-volumes correctement conçue ou créez un instantané d'un sous-volume distinct et vérifié.
Vérifiez séparément s'il /homes'agit d'un point de montage ou d'un sous-volume avec ` / findmnt /homeetc/src sudo btrfs subvolume show /home...
2. Installez Snapper et les outils Btrfs
Une fois que vous avez confirmé que la cible est un sous-volume Btrfs, installez les paquets Ubuntu :
sudo apt update
sudo apt install snapper btrfs-progs
snapperGère les configurations et la conservation des instantanés ; btrfs-progsfournit des utilitaires système de fichiers utiles pour l’inspection de Btrfs. Vérifiez l’existence de configurations existantes avant d’en créer une nouvelle :
sudo snapper list-configs
Si une configuration nommée rootpointe déjà vers le sous-volume racine correct, conservez-la et vérifiez ses paramètres au lieu d'en créer une copie. Si le résultat est vide et /que le sous-volume que vous souhaitez protéger a été vérifié, créez la configuration :
sudo snapper -c root create-config /
Cette create-configcommande crée la configuration Snapper et son répertoire de snapshots pour le sous-volume sélectionné. Si elle indique que la configuration existe déjà ou que le chemin ne correspond pas à un sous-volume, interrompez l'exécution et examinez la configuration actuelle ; ne supprimez pas une configuration existante pour forcer l'exécution de la commande.
3. Choisissez un calendrier de capture d'instantanés et une politique de conservation.
Le mode chronologique de Snapper permet de créer des instantanés horaires et son algorithme de nettoyage peut conserver les instantanés horaires, quotidiens, hebdomadaires, mensuels et annuels sélectionnés. Pour un ordinateur de bureau disposant d'un espace libre limité, il est conseillé de commencer par une stratégie modeste et de surveiller l'espace de stockage plutôt que de conserver un historique illimité. Cet exemple demande six instantanés horaires, sept quotidiens, quatre hebdomadaires et trois mensuels, sans instantané annuel :
sudo snapper -c root set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'
Ces valeurs définissent les catégories de rétention ; elles ne constituent pas une limite stricte d'espace disque. Un fichier volumineux modifié ou supprimé peut conserver d'anciennes extensions de données allouées tant que des instantanés y font référence. L'espace disponible dépend également des autres sous-volumes et fichiers Btrfs. Vérifiez df -h /régulièrement sudo btrfs filesystem usage /la rétention et augmentez-la si le système de fichiers est presque plein. Évitez de modifier plusieurs configurations simultanément : exécutez la commande `git log` sudo snapper -c root get-configet vérifiez les valeurs après chaque modification.
4. Activer les minuteurs systemd de Snapper
Sur Ubuntu 26.04 LTS, la liste des fichiers du paquet Snapper inclut snapper-timeline.timeret snapper-cleanup.timer. Activez les deux pour que systemd crée périodiquement des instantanés de la chronologie et exécute le nettoyage :
sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer
Vérifiez qu'ils sont chargés et voyez quand ils sont programmés ensuite :
systemctl list-timers snapper-timeline.timer snapper-cleanup.timer
systemctl status snapper-timeline.timer snapper-cleanup.timer
L'affichage d'un minuteur actif indique que systemd a chargé la planification ; cela ne prouve pas à lui seul que Snapper a créé un instantané avec succès. Après la prochaine exécution de la planification, vérifiez la configuration et la liste des instantanés :
sudo snapper list-configs
sudo snapper -c root list
Si aucune capture d'écran n'apparaît après l'exécution planifiée, vérifiez que le paramètre TIMELINE_CREATEest bien défini yes, puis consultez le journal du service journalctl -u snapper-timeline.service -b. Ne créez pas de minuteur personnalisé avant d'avoir vérifié les unités et les journaux du package ; des planifications en double peuvent générer plus de captures d'écran que prévu.
5. Ajouter une configuration distincte pour un sous-volume Btrfs home
N’effectuez cette opération que si la vérification de la structure a confirmé qu’il /homes’agit bien d’un sous-volume Btrfs et que votre objectif inclut des fichiers utilisateur. Commencez par exécuter la commande sudo snapper list-configset assurez-vous que le nom homen’est pas utilisé. Créez ensuite une configuration pour ce sous-volume et appliquez une politique de rétention distincte.
sudo snapper -c home create-config /home
sudo snapper -c home set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'
Les mêmes minuteurs systemd traitent les configurations Snapper dont la création et le nettoyage de la chronologie sont activés ; un minuteur séparé est donc généralement inutile. Vérifiez que cela sudo snapper -c home listfonctionne et que sudo snapper -c home get-configles valeurs attendues s'affichent. Un répertoire nommé /homen'est pas automatiquement un sous-volume distinct ; vérifiez-le avant d'exécuter la commande create-config.
Comment savoir si l'automatisation fonctionne ?
- Configuration :
sudo snapper list-configs affiche le nom et le sous-volume prévus. - Politique :
sudo snapper -c root get-config la création et le nettoyage des chronologies des rapports sont activés. - Programme :
systemctl list-timers affiche les deux minuteurs Snapper et leurs prochaines heures d'exécution. - Instantanés :
sudo snapper -c root list affiche les entrées datées après l’exécution du minuteur. - État du service :
journalctl -u snapper-timeline.service -b ne contient aucune erreur récurrente empêchant la création d’instantanés.
Si votre ordinateur est éteint à une heure programmée, une minuterie peut s'exécuter ultérieurement selon ses paramètres ; cela ne remplace pas la vérification des instantanés créés. Un test manuel simple permet de vérifier que Snapper peut créer un instantané : exécutez la commande sudo snapper -c root create --description 'setup test', puis listez à nouveau les instantanés. Ce test vérifie la configuration, et non la minuterie ; supprimez l'instantané de test uniquement si vous êtes certain d'avoir sélectionné la bonne entrée.
Quels sont les risques et les points à éviter ?
Premièrement, les instantanés consomment de l'espace sur le système de fichiers partagé au fil du temps. Les paramètres de rétention réduisent l'historique, mais la quantité de données conservées varie selon les modifications apportées aux fichiers. Surveillez l'espace libre et assurez-vous que le nettoyage est en cours. Deuxièmement, un instantané racine peut omettre des sous-volumes imbriqués/home ; une commande réussie ne garantit pas la protection de tous les chemins montés. Troisièmement, les instantanés Snapper ne garantissent pas à eux seuls une restauration amorçable. Snapper indique que la restauration nécessite un système Btrfs correctement configuré. La configuration des points de montage, la configuration de démarrage, le chiffrement et les systèmes de fichiers séparés d'Ubuntu déterminent les possibilités de récupération. Avant d'utiliser une restauration, testez un plan de récupération avec un support de sauvegarde et un support de récupération distincts.
Ne considérez pas les instantanés automatiques comme un substitut aux sauvegardes. Copiez vos fichiers importants sur un autre périphérique physique ou un emplacement distant, et vérifiez régulièrement que vous pouvez les restaurer. Pour une configuration Ubuntu optimale, utilisez Snapper pour créer facilement des points de restauration locaux, un outil de sauvegarde distinct pour des copies indépendantes, et une procédure de récupération éprouvée en cas de panne système.
Références officielles