{{tag>installation sauvegarde tutoriel vétuste}}
----
====== 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|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 [[:tutoriel:sauvegarder_home|ici]]
===== Méthode graphique et automatisée =====
La méthode de référence pour prendre des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] est l'utilisation du logiciel [[timeshift|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|Timeshift]].
Pour la sauvegarde des données (les documents de l'utilisateur), mieux vaut faire une [[sauvegarde|sauvegarde]] séparée (et plus fréquente). L'application par défaut d'Ubuntu est ici [[deja-dup|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 [[http://www.ubuntu-fr.org/telechargement|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.
[[http://old.nabble.com/Probl%C3%A8me-de-tuto-td29305621.html|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 (//Applications// -> //Accessoires// -> //Terminal//)
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|Timeshift]] permet de créer simplement des points de restauration (ou "instantanés", ou //snapshots//), analogues au //[[https://fr.wikipedia.org/wiki/Time_Machine_(logiciel)|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|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.[[:grub-pc#liste_des_fichiers_utilises_pour_la_configuration|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 [[:tutoriel:formater_une_cle_usb|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 à [[:tutoriel:installer_ubuntu_avec_le_live_cd|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 (//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: [[utilisateurs:jAvEE]]//