1.Présentaion
Lorsque lâon utilise un systĂšme Linux, il peut ĂȘtre intĂ©ressant dâĂȘtre en capacitĂ© de restaurer son systĂšme aprĂšs un incident, ou une mise Ă jour qui sâest mal passĂ©e. Dans ce tutoriel, nous allons voir comment sauvegarder et restaurer la partie systĂšme de son OS Linux.
Dans le cadre du tutoriel, je suis dans le cas oĂč mon systĂšme est sur une partition « / » et mes donnĂ©es sont sous une autre partition « /data ». Je vais ici prĂ©senter le cas dans lequel on souhaite sauvegarder et restaurer tout lâespace « / ».
Pour cela, nous nâutiliserons pas dâoutils spĂ©cifiques si ce nâest ceux natifs Ă la plupart des systĂšmes Linux.
Nous allons en effet utiliser la commande « tar » pour faire une archive du systÚme que nous pourrons alors stocker sur une clé USB ou un espace de stockage réseau, facilement disponible en cas de besoin de restauration.
A titre dâexemple, ce genre de restauration va par exemple vous ĂȘtre dâun grand secours si vous avez supprimĂ© par erreur un dossier crucial de votre systĂšme comme /etc ou /usr, ou alors si vous avez eu une mise Ă jour qui sâest mal passĂ©e sur votre systĂšme.
Source: https://www.it-connect.fr/linux-sauvegarder-et-restaurer-son-systeme/
2. La sauvegarde
Dans un premier temps, il nous faut sauvegarder notre systÚme, nous utilisons pour cela la commande « tar » avec certaines de ses options.
Nous allons effectuer notre sauvegarde en local sur l’OS sauvegardĂ©. en tant que « root », je me positionne par exemple dans le « /root »
cd /root
Je vais ensuite dĂ©clencher la commande de sauvegarde du systĂšme. Attention, assurez-vous d’avoir au moins 50% de votre disque dur de libre. Si ce n’est pas le cas, je vous recommande d’utiliser un pĂ©riphĂ©rique de stockage branchĂ© en USB par exemple, positionnez-vous alors dans ce pĂ©riphĂ©rique pour dĂ©clencher la commande de sauvegarde :
tar cvpjf backup.tar.bz2 âexclude=/proc âexclude=/lost+found âexclude=backup.tar.bz2 âexclude=/mnt âexclude=/sys âexclude=/boot /
Ici, je vous dois quelques explications par rapport Ă cette commande. Tout d’abord, vous l’aurez compris, elle va crĂ©er une archive du systĂšme dans le fichier « backup.tar.bz2 ».
Voici le détail des options utilisées :
- « -c » : Permet de créer une nouvelle archive
- « -v » : Afficher de maniĂšre dĂ©taillĂ©e la liste des fichiers traitĂ©s, cela permet de suivre l’avancement de la crĂ©ation de l’archive
- « -p » : Permet de préserver les permissions qui sont sur chaque fichiers, ce qui est trÚs utile en cas de restauration
- « -j »: Spécifier la création au format bzip2
- « -f » : Permet de spécifier le nom du fichier archive de destination
Nous allons ensuite passer plusieurs fois le paramĂštre « –exclude= » qui permet d’exclure de la construction de l’archive certains rĂ©pertoires. Dans mon cas par exemple, je rajouterais « –exclude=/data », ont fini ensuite par spĂ©cifier la racine « / » qui est ce qui va ĂȘtre sauvegardĂ©.
J’ai Ă©galement pris pour habitude d’exclure le dossier « /boot », car la restauration du dossier « /boot » sur un systĂšme qui n’a pas de mal Ă dĂ©marrer perturbe le boot, ce qui aggrave le problĂšme plus qu’autre chose.
L’exĂ©cution de cette commande peut prendre quelques minutes en fonction de la taille de votre systĂšme.
3. Le stockage
Le stockage de l’archive est ici important. Dans la plupart des cas, il est plus qu’Ă©vident qu’il faille stocker cette archive dans un autre espace de stocke que le poste sur lequel elle a Ă©tĂ© crĂ©Ă©e. Cela simplement pour prĂ©venir un endommagement de l’archive en cas de mauvaise manipulation. Je vous conseille trois moyens de stockages, gĂ©nĂ©ralement Ă disposition de tous :
- La clé USB
- Le NAS
- Le disque externe
Quel que soit le moyen de stockage, votre systÚme entier se situe maintenant dans un simple fichier, transportable et entreposable facilement. Pour ma part, je ferais le test de restauration depuis une clé USB. Je fais donc une copie de mon systÚme sur ce média.
4.La restauration
Dans le pire des cas, et si votre systÚme est vraiment mal en point, il est toujours possible de le restaurer grùce à la sauvegarde faite précédemment. Pour cela, il est recommandé de disposer :
D’un LiveCD ou Live USB pour booter sur un OS complet en mode live et ainsi accĂ©der aux partitions du systĂšme endommagĂ©
Du fichier « backup.tar.bz2 » produit prĂ©cĂ©demment, disponible sur un espace de stockage (USB, rĂ©seau, âŠ) et prĂȘt Ă ĂȘtre utilisĂ©.
fdisk -l
ici, nous voyons donc deux disques :
– Le disque /dev/sda
– Le disque /deb/sdb
Le disque « sda » est donc le disque de mon systĂšme Linux, qui se caractĂ©rise notamment par la prĂ©sence d’une partition « swap » (sda5), ma partition systĂšme Ă©tant « /dev/sda1 ». La clĂ© USB, elle, correspond Ă /dev/sdb1.
Le principe Ă©tant de dĂ©compresser ce qui est stockĂ© dans ma clĂ© USB vers la partition Linux (/dev/sda1), il nous faut maintenant monter ls deux partitions sur notre systĂšme Live Linux pour effectuer l’opĂ©ration, rien de plus simple !
On commence par préparer deux répertoires pour notre montage, puis on effectue le montage :
mkdir /mnt/OS mkdir /mnt/USB mount /dev/sda1 /mnt/OS mount /dev/sdb1 /mnt/USB
Une fois que nos montages sont prĂȘts, il ne reste plus qu’Ă effectuer la dĂ©compression de notre archive vers notre systĂšme Linux, autrement dit, on procĂšde Ă la restauration !
tar xvpfj /mnt/USB/backup.tar.bz2 -C /mnt/OS
Ici, l’option « -C » permet de spĂ©cifier le rĂ©pertoire de destination lors de la dĂ©compression de l’archive, on pointe donc ici vers le montage de notre systĂšme.
On pourra ensuite recréer les dossiers non sauvegardés :
mkdir /proc mkdir /mnt mkdir /sys
Si vous effectuez votre restauration depuis un NAS ou un autre espace de stockage en rĂ©seau, je vous conseille d’effectuer la mĂȘme manipulation en montant votre partage directement sur votre systĂšme Live.
Si votre systĂšme reste stable et n’a pas de mal Ă dĂ©marrer, dans le cas oĂč vous souhaitez restaurer son Ă©tat depuis la machine elle-mĂȘme (en local), il suffit d’exĂ©cuter la commande suivante (aprĂšs avoir montĂ© le clĂ© USB contenant le backup dans /mnt/USB dans mon cas) :
tar xvpfj /mnt/USB/backup.tar.bz2 -C /
Ici, le systĂšme va se restaurer lui-mĂȘme. Les dossiers supprimĂ©s et les fichiers modifiĂ©s seront donc restaurĂ©s.
5.RĂ©installer le grub Linux depuis un LiveCD
Il arrive en effet parfois que l’on se retrouve sans possibilitĂ© de dĂ©marrer, avec un « grub rescue > » pas trĂšs intuitif. Il faut savoir qu’il existe plusieurs façons de se sortir de cette situation, la plus simple Ă mon goĂ»t reste le dĂ©marrage sur une distribution en Live Linux. Nous allons ensuite, depuis cette distribution Live Linux, rĂ©installer le grub sur la partition systĂšme.
Qu’est-ce que le grub ?
GRUB (Grand Unified Bootloader) est un petit programme (appelĂ© programme d’amorçage) qui se lance dĂšs le dĂ©marrage d’un ordinateur, il est en charge de lancer le dĂ©marrage du systĂšme d’exploitation et, si plusieurs OS sont prĂ©sents, d’afficher un panneau de sĂ©lection pour le choix du boot entre ces diffĂ©rents OS.
Note : Ce tutoriel ne fonctionnera pas si votre /boot a été totalement supprimé.
A. Boot depuis un LiveCD
https://www.it-connect.fr/creer-une-cle-liveusb-linux
B. RĂ©installation du grub
Maintenant que nous sommes sur notre distribution Linux Live, nous pouvons utiliser diffĂ©rents outils pour dĂ©panner notre OS. La premiĂšre chose Ă faire est de repĂ©rer notre partition Linux. En tant qu’utilisateur « root », nous exĂ©cutons la commande suivante :
fdisk -l
Ici, on remarque facilement une partition Linux principale dans « /dev/sda1 », c’est dans cette partition que le boot pourra ĂȘtre installĂ©. Il s’agit ici du contexte le plus simple dans lequel la partition « /boot » est dans la partition systĂšme et non Ă part.
Il faut maintenant installer sur notre systÚme Live Linux la commande « grub » :
apt-get install grub
Ensuite, nous installons le grub dans notre partition systĂšme, aprĂšs l’avoir montĂ© dans « /mnt » :
mount /dev/sda1 /mnt grub-install --root-directory=/mnt/boot /dev/sda1
Ici, on spĂ©cifie donc le rĂ©pertoire dans lequel installer le grub puis le pĂ©riphĂ©rique Ă lire pour dĂ©tecter l’OS installĂ©, dans le cas du tutoriel : /dev/sda1
Il se peut ici que vous rencontriez l’erreur suivante :
The file /mnt/boot/grub/stage1 not read correctly
Elle n’est gĂ©nĂ©ralement pas bloquante et n’empĂȘche pas la reconstruction du grub, pour terminer, nous validons nos modifications avec la commande suivante :
update-grub
L’option « –recheck » de la commande « grub-install » peut permettre dans certains cas de dĂ©tecter des anomalies durant l’installation du grub :
grub-install --root-directory=/mnt/boot /dev/sda1 --recheck
Ă la suite de ces commandes, vous pourrez tenter un reboot de votre systĂšme.