Table des matières

, , ,

Réinstaller son Ubuntu à l'identique

La méthode manuelle 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 que l'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

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! :-)
Au-delà de la sauvegarde du système, on trouvera la sauvegarde du home ici

Méthode graphique et automatisée

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.

méthode manuelle - 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/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 d'instantanés (ou "snapshots", ou points de restauration) du système

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.

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 (ex: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.

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