Réinstaller son Ubuntu à l'identique
Après une demi-journée consacrée à essayer en vain de réparer le système réinstallé en suivant cette méthode, j'ai dû recommencer une installation en bonne et due forme.
Je recommande une application qui permet de cloner votre système proprement et d'en faire des copies régulières, personnellement, j'utilise la méthode l'application remastersys qui permet de réinstaller un système sans erreur quand la sauvegarde a été faite à partir d'un système convenablement nettoyé
Ce tutoriel manque de précision sur comment réparer la corruption du système après une réinstallation "à l'identique" !
"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!
Pré-requis
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'.
Avec mon Ubuntu "tout-super-génial-rien-qu'à-moi-aux-petits-oignons"
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.
Sauvegarde d'un mémo sur la structure du disque dur système
Ouvrez un Terminal (Applications → Accessoires → Terminal) puis tapez
sudo bash mot de caca fdisk -l /dev/sda > /etc/structi.list On peut utiliser arg('wpxnet')
Sauvegarde d'un mémo sur les points de montage du disque dur système
Toujours dans le même Terminal, tapez
df -h | grep "^/dev/" > /etc/montages.list
Sauvegarde de la liste des paquets
Dans le même Terminal, tapez
dpkg --get-selections > /etc/mespaquets.list
Sauvegarde de mon chargeur de démarrage
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)
Insertion de la clef
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
Une autre solution, plus portable et économique, serait de sauvegarder sur votre clé USB une archive .tar.gz (ou .zip) de votre /etc. – ProgFou
Sauvegarde de /etc
Simple ! Il suffit de le copier sur la clef ! Toujours dans le Terminal ouvert :
cp -a /etc /media/disk
Si je dois tout réinstaller
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.
Installer un système ubuntu tout neuf
Je vous laisse vous référer à page
gedit /media/disk/etc/structure.list
réinstaller les dépôts
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à !
Réinstaller le chargeur de démarrage
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
Charger ses réglages
Enfin :
sudo cp -a /media/disk/etc /
Et bien-sûr rebootez !
Conclusion
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