Timeshift

Timeshift est un logiciel qui permet de prendre des "instantanés" (ou snapshots, ou "points de restauration") de votre système, et de restaurer celui-ci (s'il devient instable) à partir de ces instantanés.

Il est assez similaire à TimeMachine pour MacOs ou au System Restore de Windows.

Comme eux, il est très simple à utiliser.

Il faut bien sûr avoir un espace de stockage suffisant pour ces prises d'instantanés. Ce peut être un simple répertoire de votre partition de travail. Mais en cas de gros accident de disque, il semble plus prudent d'avoir un espace dédié, donc une partition spécifique (ou un disque, ou une clé USB). Pour créer une éventuelle partition, il vous faudra passer par Gparted ou Gnome-disk.

Ces points de restauration se font sur votre ordinateur (ou sur une clé ou un disque associé). Il n'est pas possible de faire des points de restauration dans le cloud ou en réseau.

Faire la restauration d'un snapshot / instantané ne fonctionnera que si le disque dur est en bon état. Si la restauration ne donne rien, il faut essayer un point de restauration plus ancien. Mais si cela ne marche toujours pas, ce peut-être un bon indice que le disque est endommagé, ce qui mène à d'autres solutions (fsck, reformatage du disque et réinstallation complète du système, et au pire changement de disque). Gnome-disk a des fonctions d'analyse qui peuvent aussi être utilisées.

A partir de Ubuntu 20.04, Timeshift est dans les dépôts. Il suffit donc de passer par la logithèque, ou de cliquer sur ce lien timeshift ou d'utiliser le terminal avec un :

sudo apt install timeshift

Pour Ubuntu 18.04 ou précédent, il convient d'installer un PPA :

sudo add-apt-repository -y ppa:teejee2008/ppa && sudo apt update && sudo apt install timeshift

Bien que ce PPA ne soit plus indispensable depuis Ubuntu 20.04, il peut permettre d'avoir une version plus récente du logiciel, l'auteur de timeshift y publiant en avance de phase les nouvelles versions.

Prévoyez de la place pour les instantanés / points de restauration. Tout dépend bien sur de la taille de votre OS et du nombre de programmes installés, mais avec 3 points de restauration, vous pouvez facilement être entre 30 et 40 Go, voir au-dessus. Vous pouvez descendre à 2 points de restauration, mais il serait imprudent de n'en avoir qu'un seul : il peut être touché par le problème qui rend votre Ubuntu instable.

1) Lancez Timeshift via votre menu des applications.
2) Cliquez sur le bouton Assistant (à droite de la barre d'icônes) pour paramétrer vos points de restauration.
3) Dans l'assistant :

  • laissez l'option RSYNC cochée si utilisation de ubuntu dans une partition EXT4 ;
  • laissez l'option BTRFS cochée si utilisation de ubuntu dans une partition BTRFS (attention : sous-volumes 'Ubuntu' obligatoires (/@, /@home));
  • choisissez un répertoire de sauvegarde (ou une clé, ou un disque) - attention, si la partition de sauvegarde est une partition tierce, elle doit être montée automatiquement au démarrage du PC, sinon les prochains "instantanés" ne pourront se faire. Si possible, choisissez un autre disque dur ou au moins une autre partition, ce qui vous protégera en cas de perte total de votre disque ou partition. Un simple répertoire de votre partition peut suffire, c'est juste moins sécurisé.
  • définissez le planning et la conservation (conseil : 1 point de restauration 1 fois par mois et 2 ou 3 points conservés devraient suffire) ;
  • laissez tout le reste par défaut.

4) Quitter l'application proprement.

PS : Il ne doit doit plus y avoir d'icône représentant rsync dans le tableau de bord sinon les tâches planifiées s'arrêtent immédiatement.

C'est terminé, vos points de restauration se mettront à jour régulièrement sans plus vous poser de question.

En cas de système devenu instable, lancez Timeshift, cliquez (1er page) sur l'instantané (ou snapshot, ou point de restauration) que vous souhaitez restaurer (logiquement le dernier), et lancez la restauration.
Si le système est trop instable pour démarrer une interface graphique, tapez en mode texte :

sudo timeshift -–restore

et choisissez un point de restauration dans la liste proposée.

L'approche détaillée du fonctionnement du logiciel n'est pas indispensable, mais vous permet d'aller plus loin dans la finesse de son utilisation et de son paramétrage.

Lancement en mode graphique

Il s'agit de l'utilisation "normale" de l'outil. Démarrez Timeshift via votre menu des applications, ou en tapant son nom dans un terminal.

Lancement en mode texte

On peut aussi lancer Timeshift en mode texte, au terminal.

Les principales commandes sont :

sudo timeshift --check
sudo timeshift --create [OPTIONS]
sudo timeshift --restore [OPTIONS]
sudo timeshift --delete-[all] [OPTIONS]
sudo timeshift --list-{snapshots|devices} [OPTIONS]

Pour avoir la liste des possibilités du mode texte :

timeshift --help

Concrètement, les 2 commandes les plus importantes sont (sans autre option)

sudo timeshift --create

qui lance immédiatement un nouveau snapshot (un paramétrage de ce que vous sauvegardez et où vous le sauvegardez doit exister).

sudo timeshift --restore

liste les snapshots (ou points de restauration) existants et vous demande d'en choisir 1 à restaurer (le dernier, logiquement).

La commande

sudo timeshift --delete

est également intéressante : elle propose la liste des points de restauration (snapshots) existants, et vous demande lequel supprimer.

Création du paramétrage des "points de restauration" (instantanés, ou "snapshots")

Ce chapitre ne traite que de l'utilisation en mode graphique. Si un paramétrage pour créer des "points de restauration" existe déjà, vous pouvez passer directement à la phase de sauvegarde.

La fenêtre principale ci-dessous s'affiche, avec tous les instantanés (snapshots) déjà créés (s'il y en a). La fenêtre principale de Timeshift Dans ce 1er écran, la colonne "Etiquettes" indique une lettre. Cette lettre donne le type de création de chaque instantané (créé à la main, hebdomadaire, …). Ce peut-être :

  • O création "On Demand" (manuelle)
  • B création au Boot (au démarrage du système)
  • H création Horaire
  • D création quotidienne ("Daily")
  • W création hebdomadaire ("Weekly")
  • M création Mensuelle

Mais l'information la plus importante de cet écran, c'est la date de création de l'instantané (colonne "cliché"), qui vous servira à choisir une éventuelle restauration du système.

Pour créer (une fois pour toute) un paramétrage, cliquez sur assistant (dans la barre d'icônes ci-dessous) : La barre d'outils / d'icônes de Timeshift

Plusieurs écrans vont se succéder (vous pouvez cliquer sur les images pour les agrandir)

  • le type d'instantanés (par défaut RSYNC - l'option BTRFS est réservée aux utilisateurs de ce système de fichiers, qui n'est pas le système standard sous Ubuntu).

ou

  • L'emplacement de sauvegarde (le répertoire / la partition / le disque de sauvegarde).

Choix de l'emplacement de sauvegarde

  • le planning de sauvegarde (tous les jours, semaines, mois, …). Si on ne coche aucune option, Timeshift ne lancera ses sauvegardes que de façon manuelle, à votre convenance. Définissez également le nombre de sauvegardes à conserver (normalement la dernière suffit, mais si vous avez de la place, mieux vaut en conserver entre 2 et 5). Il n'y a pas de règle précise pour le planning, mais une sauvegarde mensuelle, au pire hebdomadaire, semble suffisante.

Planning des lancements et nombre de conservations

  • Utilisateur : l'option permet de sauvegarder vos fichiers personnels en plus de votre système. Par défaut cette option n'est pas cochée. Il existe ici 2 options activables :
  1. "inclure tout", qui sauvegardera vos fichiers personnels et qui est plutôt déconseillée, car en cas de restauration, vous remplacerez non seulement le système mais aussi tous vos fichiers avec une ancienne version. Mieux vaut donc utiliser une sauvegarde séparée pour vos documents.
  2. "inclure les éléments cachés", qui sauvegardera vos fichiers de configuration du /home (/.local ; /.config ; …). Cette options sauve donc (et restaure) vos configurations personnelles en plus de votre système. Au contraire de la sauvegarde des fichiers personnels (plutôt déconseillée), cette option est tout à fait intéressante.

choix sauvegarde du home

  • Filtres : cette option vous permet d'exclure la sauvegarde de certains répertoires. En cliquant sur "Résumé" vous aurez la liste des répertoires qui ne sont pas sauvegardés par défaut (des fichiers temporaires, pour l'essentiel). Si vous ne savez pas de quoi il retourne exactement, ne touchez à rien. Vérifier que les snap sont sauvegardés, sinon cela sera très compliqué de lancer firefox (Cannot locate base snap core20: No such file or directory).

exclusion de répertoires

Si vous avez installé, le dictionnaire français dans firefox, il est totalement impossible de lancer la suppression de firefox car ce dictionnaire est monté en lecture seule et donc non supprimable! En conséquence toutes les applications snap ne sont plus ré-installables.

Au final, ce sont les options 2 (emplacement de sauvegarde) et 3 (planning) qui sont importantes. Vous pouvez laisser les autres options dans leur configuration par défaut.

Pour modifier un paramétrage de snapshot sans relancer tout l'assistant, vous pouvez cliquer sur l'icône "Paramètres".

Création d'un point de restauration

Une fois le paramétrage créé, il n'est normalement plus nécessaire d'y revenir.

La création des "points de restauration" (instantanés, ou snapshots) peut se faire :

  1. manuellement, en mode graphique. Pour ce faire, cliquez sur le bouton "créer" (la sauvegarde) dans le panneau principal.
  2. Manuellement, en mode texte, via la commande (sans autre option) : sudo timeshift –create. Elle lance la sauvegarde en suivant le paramétrage (il faut que vous l'ayez créé).
  3. Automatiquement. Laissez juste faire la programmation découlant de votre paramétrage (si vous avez activé le mode automatique). Elle générera des snapshots, ou instantanés, en tâche de fonds, sans action de votre part, aux dates pré-déterminées (par exemple tous les mois).
  4. Vérifier que le fonctionnement est correct en lançant manuellement la première commande automatique.
    sudo timeshift --check --scripted
    Another instance of this application is running (PID=4942)
     
    ps aux  | grep  4942
    root        4942  2.6  0.8 1384628 51092 ?       Sl   15:14   2:17 /usr/bin/timeshift-gtk
    a           7172  0.0  0.0  11644  2464 pts/5    S+   16:41   0:00 grep 4942
     
    sudo timeshift --check --scripted
    /dev/sdb12 is mounted at: /run/timeshift/backup, options: rw,relatime,space_cache=v2,subvolid=5,subvol=/
    Boot snapshots are enabled
    Last boot snapshot not found
    Tagged snapshot '2023-07-04_15-21-17': boot
    Hourly snapshots are enabled
    Last hourly snapshot not found
    ------------------------------------------------------------------------------
    Creating new snapshot...(RSYNC)
    Saving to device: /dev/sdb12, mounted at path: /run/timeshift/backup
    Linking from snapshot: 2023-07-04_15-42-39
    Synching files with rsync...
    Created control file: /run/timeshift/backup/timeshift/snapshots/2023-07-04_16-42-10/info.json
    RSYNC Snapshot saved successfully (120s)
    Tagged snapshot '2023-07-04_16-42-10': hourly
    Daily snapshots are enabled
    Last daily snapshot not found
    Tagged snapshot '2023-07-04_16-42-10': daily
    Weekly snapshots are enabled
    Last weekly snapshot not found
    Tagged snapshot '2023-07-04_16-42-10': weekly
    Monthly snapshot are enabled
    Last monthly snapshot not found
    Tagged snapshot '2023-07-04_16-42-10': monthly

Si vous utilisez le mode manuel, pensez à supprimez les "points de restauration" les plus anciens, car ils prennent beaucoup de place. TimeShift a une option très efficace qui va effacer les anciennes données, tout en gardant les autres sauvegardes fonctionnelles, malgré l'aspect incrémental des sauvegardes (l'ancienne sauvegarde est supprimée, mais les données indispensables sont conservées).

Restauration en mode graphique

Disque détruit

Si la sauvegarde a été faite en utilisant l'option BTRFS, tout est perdu si une autre technique de sauvegarde n' est pas installée car il est précisé: "…Si le disque système plante alors les instantanés qui y sont enregistrés seront perdus en même temps que le système.
  • Faire le nécessaire pour remplacer le disque.

A l'aide d'un autre ubuntu installé ou pas.

  • Fabriquer, avec gparted, une partition de boot EFI et une partition formatée en BTRFS ou EXT4.
  • Si la partition est en BTRFS, fabriquer les deux sous-volumes avec ces commandes. (Adapter sdXN)
    sudo mount -v /dev/sdXN /mnt
    sudo btrfs subvolume create /mnt/@
    sudo btrfs subvolume create /mnt/@home
    sudo umount /mnt
  • Installer Timeshift
  • Faire le paramétrage du disque de sauvegarde des fichiers RSYNC
  • La suite est ci-dessous. Vérifier bien que les partitions proposées sont correctes, sinon choisir les bonnes.

Logiciel en mauvais état

Pour restaurer un système devenu instable, il vous suffit d'ouvrir Timeshift, de cliquer dans la 1er page sur l'instantané (snapshot) que vous souhaitez restaurer (normalement le dernier), et enfin de lancer la restauration (n'oubliez pas de brancher votre disque dur ou votre clé USB si vos "points de restaurations" s'y trouvent).

Le 1er écran de la restauration vous permet de contrôler ce qui va être remis à jour. Ne touchez à rien sauf si vous savez ce que vous faites. proposition avant restauration

Puis cliquez sur "Suivant". Un second écran s'affiche, qui montre le déroulé des opérations : d'abord l'effacement de votre système actuel, puis son remplacement par l'instantané timeshift. écran pendant restauration

La restauration se termine par un redémarrage du système (et du PC), revenu à son état antérieur. Il vous faudra normalement alors faire les mises à jour, puisque vous avez perdu celles opérées depuis le dernier instantané. De même, les logiciels installés postérieurement à ce "point de restauration" devront être réinstallés.

Sauf si vous n'avez pas demandé une sauvegarde de vos fichiers personnels (vos documents), ceux-ci ne seront pas affectés par la restauration.

Restauration en mode texte

Si votre système d'exploitation est devenu tellement instable que l'interface graphique ne se lance plus, la ligne de commande devient inévitable. Vous pouvez alors démarrer depuis le GRUB en Mode de dépannage (recovery mode - une option de votre menu de démarrage GRUB). Votre système démarre en mode texte, et vous pourrez ensuite lancer Timeshift pour restaurer votre système, toujours en mode texte (via un : sudo timeshift –restore qui affiche les snapshots existants et demande lequel restaurer).

S'il est très endommagé, votre système démarre de lui même en mode texte ("console de secours"), en vous affichant GRUB rescue>, et normalement vous pourrez également utiliser sudo timeshift –restore.

Restauration depuis une autre instance

Le grub est en très mauvais état.

Si le mode texte ne vous rebute pas, si le boot en recovery ne fonctionne pas, pas de panique, il est toujours possible de passer par la technique du chroot. Le plus dur est certainement de choisir le bon point de restauration.

Exemple pratique:

Faire le chroot.
sudo -i
 
mount /dev/sda10 /mnt
 
mount -t proc  /proc            /mnt/@/proc
mount -t sysfs /sys             /mnt/@/sys
mount --bind   /dev             /mnt/@/dev
mount --bind   /run             /mnt/@/run
mount --bind   /sys             /mnt/@/sys
mount --bind   /etc/resolv.conf /mnt/@/etc/resolv.conf
modprobe efivars    
 
chroot /mnt/@
 
mount -t devpts devpts /dev/pts
df -h && df -i
ping -c4 8.8.8.8  && ping -c4 google.fr
ls   -ls /home
Rechercher le bon point de restauration parmi la liste.
 timeshift --restore
 
 Num     Name                 Tags  Description  
------------------------------------------------------------------------------
0    >  2023-11-28_19-00-03  D                  
1    >  2023-12-02_11-00-03  D                  
2    >  2023-12-02_18-00-06  H                  
3    >  2023-12-02_19-00-01  H                  
4    >  2023-12-04_13-00-02  H D                
5    >  2023-12-04_14-00-02  H                  
6    >  2023-12-04_15-00-02  H                  
7    >  2023-12-04_16-00-06  H                  
8    >  2023-12-04_17-00-02  H                  
9    >  2023-12-04_18-00-08  H                  
10   >  2023-12-04_19-00-02  H                  
11   >  2023-12-05_17-00-03  H D                
12   >  2023-12-05_18-00-02  H                  
13   >  2023-12-05_19-00-01  H                  
14   >  2023-12-06_14-00-03  H                  
15   >  2023-12-06_15-00-01  H                  
16   >  2023-12-06_16-00-02  H                  
17   >  2023-12-06_17-00-01  H D                
18   >  2023-12-06_19-00-02  H                  
19   >  2023-12-06_20-00-03  H                  
 
Enter snapshot number (a=Abort, p=Previous, n=Next):
Lancer la restauration.
Enter snapshot number (a=Abort, p=Previous, n=Next): 10
 
 
 
******************************************************************************
To restore with default options, press the ENTER key for all prompts!
******************************************************************************
 
Press ENTER to continue...
 
======================================================================
WARNING
======================================================================
Data will be modified on following devices:
 
Device         Mount
-------------  -----
/dev/sda10(@)  /    
 
 
 
 
======================================================================
DISCLAIMER
======================================================================
This software comes without absolutely NO warranty and the author takes no responsibility for any damage arising from the use of this program. If these terms are not acceptable to you, please do not proceed beyond this point!
 
Continue with restore? (y/n): y
Mounted '/dev/sda10' (subvol=@) at '/run/timeshift/3356/restore/'
Mounted '/dev/sda16' at '/run/timeshift/3356/restore/boot/efi'
Mounted '/dev/sda10' at '/run/timeshift/3356/restore/home'
******************************************************************************
Backup Device: /dev/sda10
******************************************************************************
******************************************************************************
Snapshot: 2023-12-04_19-00-02 ~ 
******************************************************************************
Creating pre-restore snapshot from system subvolumes...
Created directory: /run/timeshift/3356/backup/timeshift-btrfs/snapshots/2023-12-07_23-57-26
Moved system subvolume to snapshot directory: @
Created control file: /run/timeshift/3356/backup/timeshift-btrfs/snapshots/2023-12-07_23-57-26/info.json
Created pre-restore snapshot: 2023-12-07_23-57-26
------------------------------------------------------------------------------
Restored system subvolume: @
Restore completed
------------------------------------------------------------------------------
E: Failed to remove directory
Ret=256
root@a:/#

La Partition est en très mauvais état.

Si le mode texte vous rebute, si le boot en recovery ne fonctionne pas, si la partition a été reformatée, si les données de sauvegarde sont dans une autre partition, lancez un autre ubuntu, installez y timeshift et lancer la restauration. Lorsque la restoration, sera finie, il n'y aura pas de boot automatique mais un conseil de lancer une restauration ubuntu depuis une live usb après y avoir installé timeshift. La restauration y remettra la totalité du logiciel sauvé. Cela sera un peu plus long.

Traitement des messages d'erreur

Restaurer Termine avec des erreurs

L'application semble ne rien avoir prévu. Reste la solution traces du système. En voici un extrait.

juil. 02 15:33:06 p timeshift-gtk.desktop[5700]: Cliché: 2023-07-01_13-30-45 ~
juil. 02 15:33:06 p timeshift-gtk.desktop[5700]: ******************************************************************************
juil. 02 15:33:06 p timeshift-gtk.desktop[5700]: E: L’ouverture du fichier « /run/timeshift/restore//etc/os-release » a échoué : Aucun fichier ou dossier de ce type
juil. 02 15:33:06 p timeshift-gtk.desktop[5700]: E: Impossible de lire le fichier: /run/timeshift/restore//etc/os-release
juil. 02 15:33:06 p timeshift-gtk[5700]: g_strsplit: assertion 'string != NULL' failed
juil. 02 15:33:06 p timeshift-gtk.desktop[5700]: Restauration de l'instantané...
juil. 02 15:33:06 p timeshift-gtk.desktop[5700]: Synchronisation des fichiers avec rsync en cours... 
juil. 02 15:33:10 p timeshift-gtk.desktop[5700]: Lecture du journal
juil. 02 15:33:11 p timeshift-gtk.desktop[144349]: Ré-installation de GRUB2...
juil. 02 15:33:11 p timeshift-gtk.desktop[144357]: chroot: failed to run command 'grub-install': No such file or directory
La restauration est impossible si le noyau à été trop gravement endommagé.

Tester une autre distribution

Grace à Timeshift, vous pouvez tester temporairement une autre distribution, sans passer par une machine virtuelle.

Le principe est de prendre un point de restauration, de le sauvegarder sur une autre partition, une clé ou un disque externe (mais en aucun cas sur votre partition courante).

Installez alors la distribution à tester sur votre partition courante (elle écrase l'existant). A la fin de votre test, installez Timeshift et utilisez sa fonction de restauration des snapshots. Timeshift s'occupe même de la réinstallation du chargeur d'amorçage et d'autres détails.

Attention à vos données, elle ne sont par défaut pas sauvegardées par Timeshift. Donc soit vous les incluez, soit vous les sauvegardez à part avec un outil spécialisé.

Le logiciel peut-être désinstallé via la logithèque, ou au terminal par un :

sudo apt remove timeshift

Les instantanés ne sont pas supprimés, vous pouvez les conserver ou les effacer manuellement.

Timeshift est une interface graphique soit à l'utilitaire RSYNC, soit aux options "points de restauration" du système de fichier BTRFS. BTRFS étant peu utilisé (ce n'est pas le système de fichiers par défaut d'Ubuntu), c'est donc généralement RSYNC qui est utilisé.

Il n'est pas possible de déplacer les fichiers sur un disque réseau car TimeShift n'est compatible qu'avec les formats ext4 et btrfs.

Remplissage

Si Timeshift s'exécute automatiquement avec un nombre maxi de points de restauration trop important, le disque peut se remplir jusqu'à ce que le système devienne inutilisable (plus d'espace libre !).

Il faut alors démarrer en mode recovery et supprimer au moins un point de restauration. Ceux-ci se trouvent par défaut dans /timeshift (ex : /timeshift/snapshots/2022-07-14_12-34-56). Pour supprimer le point de restauration nommé : 2022-07-14_12-34-56 et récupérer ainsi de l' espace :

rm -r /timeshift/snapshots/2022-07-14_12-34-56

Afin d' éviter le remplissage disque excessif , il est important de paramétrer un nombre précis et réaliste de points de restauration a conserver. A chaque nouvelle sauvegarde, Timeshift supprime alors le point de restauration le plus ancien. Deux ou 3 points de restauration espacés d'un mois suffisent normalement, sauf si vous avez un besoin particulier. Ce nombre vous donne une profondeur de correction de 2 ou 3 mois, ce qui devrait suffire pour vous permettre de voir que votre système ne fonctionne plus correctement et doit être restauré.

Point de montage

Le logiciel se lance 10 minutes après le lancement de l'ordinateur. A partir de cet instant, le contenu des répertoires / et /home est aussi accessible en utilisant les répertoires /run/timeshift/backup/ et /run/timeshift/backup/home.

  • timeshift.txt
  • Dernière modification: Le 04/03/2024, 13:23
  • par 141.227.26.230