Mieux vaux une application qui permet de cloner votre système proprement et d'en faire des copies régulières, comme Timeshift qui permettent de réinstaller un système quand la sauvegarde a été faite à partir d'un système stable.
"Oh non mon disque système est tout mort !"
"Mince j'ai encore formaté ma partition portant /etc !"
"je suis pas un fin connaisseur mais j'aimerais me prévenir des mille et une heures pour réinstaller mon système pile poil comme maintenant, au paquet près, au réglage près…"
Hé oui ! Il est possible de stocker de simples informations qui permettront plus tard de réinstaller votre système en deux coups de cuillère à pot, malgré les mille et un wikis que vous avez suivis pour arriver à votre ubuntu 'parfait'…
Suivez le guide!
La méthode de référence pour prendre des points de restauration est l'utilisation du logiciel Timeshift. Ces points de restauration peuvent être créés manuellement, ou mieux, automatiquement, et ce au rythme choisi. Il est également possible de définir le nombre de points de restauration conservés (lesquels prennent de la place). Ainsi, Timeshift permet de restaurer un système devenu instable, en mode graphique ou en mode texte.
Le point de restauration dont il est ici question comprend tout le système d'exploitation et tous les logiciels installés, mais pas les fichiers de l'utilisateur (ses documents).
Pour en savoir plus, voire l'aide Timeshift.
Pour la sauvegarde des données (les documents de l'utilisateur), mieux vaut faire une sauvegarde séparée (et plus fréquente). L'application par défaut d'Ubuntu est ici Déjà Dup.
Tout repose sur dpkg et apt. Sachez donc que l'on ne parlera pas de votre /home (vos données) ni de votre /var (vos sites webs en création par exemple) mais de la sauvegarde et restauration de la structure même de votre distribution. On se concentre ici sur la source des paquets, la liste des paquets installés, les configs de GRUB et le répertoire /etc. Simple, non ?
C'est idéal pour les configs qui ont /home (et /var pour les développeurs) sur une autre partition, voire mieux, sur un autre disque dur (tout le monde a un gros 'Raptor' bien rapide en disque système et deux gros disques en RAID1 pour les données, c'est bien connu ).
On a besoin d'un espace de stockage 'minime' et 'externe', et d'un CD ubuntu live.
La méthode décrite ici utilisera donc une 'clef' USB et considèrera que vous avez un ubuntu 'sain'.
Il faut d'abord taper
sudo bash
entrer le mot de passe puis les commandes sans le sudo bien sûr. Une fois terminé, fermer la console ou bien veiller à quitter ce mode administrateur par CTRL + D.
Ouvrez un Terminal (Applications → Accessoires → Terminal) puis tapez
sudo bash mot de passe fdisk -l /dev/sda > /etc/structi.list On peut utiliser arg('wpxnet')
Toujours dans le même Terminal, tapez
df -h | grep "^/dev/" > /etc/montages.list
Le logiciel Timeshift permet de créer simplement des points de restauration (ou "instantanés", ou snapshots), analogues au TimeMachine de MacOs. Il permet de restaurer un système devenu instable, avec tous les logiciels installés avant le snapshot.
Dans le même Terminal, tapez
dpkg --get-selections > /etc/mespaquets.list
Toujours dans le même Terminal tapez
Pour grub-Legacy (avant la version 9.10)
cp /boot/grub/menu.lst /etc/grubmenu.lst
Pour Grub-Pc dénommé aussi Grub 2, les commandes sont :
cp /boot/grub/grub.cfg /etc/grub.cfg cp /boot/grub/device.map /etc/device.map
grub.cfg est lu au démarrage comme l'était menu.lst sur grub-legacy.Voir ce tuto pour plus d'info.
Si la version de Ubuntu installée est récente (10.04 et peut-être même 9.10), le fichier device.map n'existe plus donc c'est normal de ne pas l'avoir. Par contre, si Ubuntu installé initialement est une version avec grub legacy, le fichier device.map existe et continuerait d'exister après mise à niveau (si on en crois cep : http://www.cepcasa.info/blog/?p=193 ). Pour résumer, si on a un device.map, il faut le sauvegarder. Si on n'a pas de device.map, c'est normal et du coup, on n'a pas de device.map à sauvegarder.
/etc/default/grub et /etc/grub.d/ seront sauvegardés avec le dossier /etc (Voir plus bas)
Elle doit théoriquement s'automonter dans /media/disk (si c'est le seul périphérique de stockage usb que vous avez) sinon allez faire un tour ICI
Simple ! Il suffit de le copier sur la clef ! Toujours dans le Terminal ouvert :
cp -a /etc /media/disk
On ne peut par contre pas faire le bourrin moyen et tout écraser /etc. Cela tuerait des liens ou provoquerait moultes questions à la réinstallation des paquets. On installe d'abord les bons dépôts, puis les bons paquets, puis la bonne config.
Je vous laisse vous référer à page
gedit /media/disk/etc/structure.list
Insérez la clef. Elle se monte dans /media/disk. Puis ouvrez un Terminal (Applications → Accessoires → Terminal)
sudo cp /media/disk/etc/apt/sources.list /etc/apt/sources.list sudo apt-get update sudo apt-get dselect-upgrade sudo apt-get dist-upgrade sudo apt-get upgrade
Répondez par défaut à presque tout. De toute façon, on va écraser joyeusement toute config !!!
Maintenant ajoutez votre petite sélection personnelle et repassez un coup la mise à jour.
sudo dpkg --set-selections < /media/disk/etc/mespaquets.list sudo apt-get dselect-upgrade sudo apt-get dist-upgrade sudo apt-get upgrade
Et voilà votre système réinstallé ! Il ne manque plus que vos paramètres chéris.
Pour ceux qui ont une erreur avec
sudo dpkg –set-selections < /media/disk/etc/mespaquets.list
erreur du type : sudo dpkg –set-selections < /media/disk/etc/mespaquets.list
c’est qu’il manque le paquet « dselect ». Donc on l’installe :
sudo apt-get install dselect
On lance ensuite dselect :
sudo dselect
Là, le menu s’ouvre et on choisi l’option de « mise à jour » : [M]ise à j Mise à jour de l'information sur les paquets disponibles, si possible. Dselect va synchroniser sa base de données.
Une fois l’opération terminée, on recharge la liste :
sudo dpkg –set-selections < /media/disk/etc/mespaquets.list
Reste enfin à installer les logiciels sélectionnés avec la commande :
apt-get dselect-upgrade
Et voilà !
Juste un petit :
sudo cp /media/disk/etc/grubmenu.lst /boot/grub/menu.lst
Pour grub-legacy "l'ancien".
Et pour grub 2 :
sudo cp /media/disk/etc/grub.cfg /boot/grub/grub.cfg puis cp /media/disk/etc/device.map /boot/grub/device.map
Enfin :
sudo cp -a /media/disk/etc /
Et bien-sûr rebootez !
Voici une méthode simple pour réinstaller en quelques coups toute sa distribution peaufinée avec amour. Les amateurs de sécurité et de rapidité apprécieront.
Les plus geeks arriveront surement à scripter tout ça
Sauf que ça marchera pas :D
En effet, la commande basée sur dpkg –get-selections ne suffira pas à remettre à l'identique.
a) Les numéros de version de paquets ne sont pas mémorisés
b) donc, selon l'intervalle de temps séparant la photo du système sain et la restauration soit disant à l'identique, ben on aura pas la même chose et probablement quelques surprises en perspectives…
Une véritable restauration à l'identique nécessite par exemple de passer par dpkg-repack, mais c'est évidemment plus lourd. Y'a pas de magie.
Contributeur: jAvEE