Contenu | Rechercher | Menus

Réinstaller son Ubuntu à l'identique

La méthode suivante est intéressante mais elle comporte de sacrés bémols. Au rythme des mises à jour d'aujourd'hui, il est rare qu'une installation faite aujourd'hui soit identique à celle qu'on ferait demain matin sur le même ordinateur. Donc la version de certains paquets peut être différente demain matin et c'est propice à réinstaller un système corrompu … Pour avoir personnellement essayé la méthode, elle m'a fait faire des erreurs quand ma structure de paquets. Tout a été installer en masse sans que la hiérarchie des paquets soit correctement gérée. J'ai donc obtenu un système soit disant identique : corrompu… Par exemple, il m'a été impossible de réinstaller audacity et ça été pareil pour d'autres paquets (pas tous). Je ne suis pas arrivé à réparer ma base de paquets qui était corrompue. En dépit de mises à jour, de suppressions de paquets cassés et la purge des paquets qui m'ont créer des erreurs.

Après une demie journée consacré à essayé le réparer le système réinstaller en suivant la méthode en vain.

J'ai dû recommencé une ré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! :-)

On trouvera la sauvegarde du home ici

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 :-D ).

On a besoin d'un espace de stockage 'minime' et 'externe', et d'un CD ubuntu live.

On peut aussi faire cette manip directement depuis le système !

Un /etc fraîchement installé de Hardy pèse 12Mo environ, et un /etc bien modifié peut aller jusqu'à 64Mo… et le reste ce sont des listes en format texte… donc ça pèse RIEN (presque).

Vu le prix des supports USB (rapport poids/prix) la clef nécessaire pour ce travail ne coutera pratiquement RIEN. Voir les sites de ventes d'occasion pour les plus radins… J'ai trouvé une 128Mo à 1 euro ! (plus l'envoi).

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"

La commande sudo ne fonctionne pas comme d'habitude. Voir ici

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 (ApplicationsAccessoiresTerminal) puis tapez

sudo bash
mot de passe
fdisk -l /dev/sda > /etc/structure.list

On peut aussi utiliser l'outil sfdisk.

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

Vous pouvez aussi utiliser le logiciel APTonCD. Il vous permet de sauvegarder sur CD ou DVD (création d'une ISO) les paquets .deb que vous avez téléchargés. Vous pouvez aussi utiliser l'ISO sans la graver, directement avec la fonction Restaurer du logiciel.

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

Attention à choisir un système de fichier compatible Unix (ext3, ext2, xfs, …) faute de quoi vous perdriez les informations de propriété et de droits sur vos fichiers ce qui mettrait en danger la sécurité de votre système en cas de restauration de cette copie du /etc !! 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

l'option "-a" demande une copie pour archive, c'est-à-dire une copie récursive en préservant toutes les informations possibles : type de fichier, propriétaire/groupe, droits, date de modification, … – ProgFou

il est de bon ton une fois sa clef enlevée de la passer en 'lecture seule' par le petit switch dessus (si la clef est doté de ça)

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

Si vous avez besoin de vous rappeler comment partitionner votre disque dur, une fois le LiveCD démarré et AVANT de lancer l'installation, il suffit d'insérer votre clef USB et de faire Alt+F2 et

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 (ApplicationsAccessoiresTerminal)

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.

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



Le contenu de ce wiki est sous licence : CC BY-SA v3.0