Juste un petit tuto dérivé de la procédure de restauration de Grub présenté ici pour indiquer comment réparer son système Ubuntu via un live-cd après un plantage lors d’une mise à niveau (panne de courant, erreur lors de la mise à niveau, système corrompu, …). Ce tuto est une réponse au commentaire de Craco, cette procédure lui a permis de remettre son système en état et à jour.
- Récupérer un live-cd (ou live-usb) d’Ubuntu dans la version dont vous avez lancé la mise à niveau (pour une parfaite compatibilité)
- Ex: Mise à niveau d’Ubuntu 10.04 à 10.10, utiliser le live-cd de la version 10.10.
- Démarrer votre PC sur le live-cd (choisir « Essayer Ubuntu sans rien installer »)
Une fois sur le bureau, ouvrir un terminal puis saisir les commandes ci-dessous:
#! /bin/bash
#Passer en root:
sudo -s
#Monter la partition système contenant Linux sur votre disque dur: (sudo fdisk -l donne la liste des partitions, remplacer sda1 par le nom de la partition contenant Ubuntu (si nécessaire)):
mount /dev/sda1 /mnt
#Monter /dev, /proc et copier les points de montages dans ce point de montage:
mount -o bind /dev /mnt/dev
mount -o bind /proc /mnt/proc
cp /proc/mounts /mnt/etc/mtab
#Se chrooter dans ce système:
chroot /mnt
A partir d’ici nous ne travaillons plus sur le live-cd mais sur votre propre installation d’Ubuntu, bien que si vous utilisez cette procédure c’est que votre système est déjà endommagé, veuillez être prudents dans les manipulations suivantes.
Nous allons maintenant lancer plusieurs commandes afin de réparer le système:
sudo dpkg --configure -a && sudo apt-get clean && sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get -f install
Cette commande (5 en 1, « && » permet de lancer plusieurs commandes à la suite les unes des autres) permet (dans l’ordre) de réparer la configuration du système, purger la liste des paquets en cache, mettre à jour la liste des paquets, relancer la mise à niveau vers 10.10 (ou supérieur) et réparer les paquets brisés (dépendances manquantes pour certaines applications).
Une fois cette série de commande exécutée avec succès, vous pouvez redémarrer votre poste, votre Ubuntu devrait à nouveau être opérationnel.
#1 par wake à 22 octobre 2010 - 17 h 28 min
Juste une petite astuce supplémentaire si on a un système qui démarre mais sans rien de graphique et qu’on a un serveur SSH sur la machine. La solution que j’ai utilisée avec succès 🙂 est simplement de se connecter en SSH et de réaliser les commandes de réparation du système 🙂
my 2 cents
Pingback: Tweets that mention Réparer Ubuntu après un plantage lors d’une mise à niveau « Libre-Astux.info -- Topsy.com
#2 par Saimon à 22 octobre 2010 - 18 h 34 min
il y a quand même plus simple: démarrer en mode « recovery » et sélectionner « dpkg – réparer les paquets cassés » : http://doc.ubuntu-fr.org/recovery_mode
Après le chroot est plus universel, c’est pas spécifique à Ubuntu.
#3 par SSHNuke à 22 octobre 2010 - 18 h 49 min
Personnellement j’aurais mis:
#! /bin/bash
#Passer en root:
sudo su –
#Monter la partition système contenant Linux sur votre disque dur: (sudo fdisk -l donne la liste des partitions, remplacer sda1 par le nom de la partition contenant Ubuntu (si nécessaire)):
mkdir /media/dd
mount /dev/sda1 /media/dd
#Monter /dev, /proc, /sys
mount -t devfs /dev /media/dd/dev
mount -t proc /proc /media/dd/proc
mount -t sysfs /sys /media/dd/sys
#Se chrooter dans ce système:
chroot /media/dd
mount -a
dhclient eth0
Pourquoi ne pas copier mtab ? la vrai question, serait pourquoi le copier ! De plus, imagine qu’il y a un /boot, /home séparé…
Et puis, personnellement je rajouterai bien un petit apt-get clean voir de remplacer apt-get par aptitude, car vois tu, apt-*, caylemal ! 😉
#4 par SSHNuke à 22 octobre 2010 - 18 h 51 min
Heu, correction,sudo -s plutôt que sudo su –
#5 par Gatien à 22 octobre 2010 - 20 h 03 min
Pour Wake et Salmon, vos astuces sont pratiques, mais cette technique fonctionne également dans le cas ou le boot ne se fait plus du tout. (c’était le cas pour cette personne).
SSHNuke, merci pour cette version du script, effectivement « sudo -s » est plus propre.
Après, ce script est une base, libre à chacun de l’adapter en fonction de la configuration de son système.
Si vous avez d’autres astuces, n’hésitez pas, laisser un commentaire. 😉
Pingback: Réparer Ubuntu après un plantage lors d’une mise à niveau « Linux et Geekeries
#6 par loukatme à 24 février 2011 - 3 h 35 min
Merci Bien Pour ce Article .
#7 par snike à 18 mars 2011 - 19 h 02 min
Merci beaucoup pour l’astuce, ça a marché.
Longue vie à Ubuntu et ses admins
#8 par Natz à 29 mars 2011 - 17 h 20 min
Je teste !
#9 par Neil à 9 avril 2011 - 22 h 06 min
Préparation du remplacement de dpkg 1.15.8.4ubuntu3 (en utilisant …/dpkg_1.15.8.4ubuntu3.1_i386.deb) …
Dépaquetage de la mise à jour de dpkg …
Je reste bloquer la dessus
#10 par jbalibeux à 9 août 2011 - 0 h 05 min
nikel, j’ai reparer de cette façon un easypeasy qui avait planté suite a une mise à jour!
merci.
#11 par Zeppo à 17 novembre 2011 - 21 h 46 min
Merci beaucoup pour cette solution, rapide, simple et efficace.
#12 par butufei à 25 janvier 2012 - 14 h 55 min
apre avoir suivi les instruction pour le recuperation de ubuntu je le message suivante
288Mo rĂŠceptionnĂŠs en 11min 50s (405ko/s)
Extraction des modèles depuis les paquets : 100%
PrĂŠconfiguration des paquets…
tar: unrecognized option `–warning=no-timestamp’
Try `tar –help’ or `tar –usage’ for more information.
dpkg-deb : erreur : le sous-processus tar a retournĂŠ une erreur de sortie d’ĂŠtat 64
dpkg : erreur de traitement de /var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb (–unpack) :
le sous-processus dpkg-deb –control a retournĂŠ une erreur de sortie d’ĂŠtat 2
Des erreurs ont ĂŠtĂŠ rencontrĂŠes pendant l’exĂŠcution :
/var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
mersi de votre aide
Butufei
#13 par butufei à 27 janvier 2012 - 12 h 00 min
personne pour m’aide
mersi
#14 par Gatien à 27 janvier 2012 - 13 h 41 min
Bonjour Butufei,
Votre problème est signalé en tant que bug du programme APT auprès d’ubuntu, vous pouvez suivre la résolution de ce bug à l’adresse suivante:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/912833
Vous pouvez vérifier que le paquet a bien été téléchargé et se trouve dans
/var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb
Si tel est le cas, utilisez la commande suivante afin d’installer manuellement ce package:
dpkg -i « /var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb »
Si vous souhaitez empecher la mise à jour de ce paquet, vous pouvez utiliser la commande suivante:
aptitude hold libpam-modules
Une fois le bug résolu, il ne faudra pas oublier de réactiver les mises à jours de ce package en utilisant la commande:
aptitude unhold libpam-modules
Après avoir désactivé la mise à jour de ce package, relancer simplement :
sudo apt-update && sudo apt-get upgrade afin d’effectuer les autres mises à jours.
#15 par butufei à 27 janvier 2012 - 14 h 34 min
Mersi pour votre aide vuici le message que je
que fair
merci
root@Server:~# dpkg -i . /var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb .
dpkg-split : erreur : erreur de lecture sur .: est un dossier
dpkg : erreur de traitement de . (–install) :
le sous-processus dpkg-split a retournĂŠ une erreur de sortie d’ĂŠtat 2
tar: unrecognized option `–warning=no-timestamp’
Try `tar –help’ or `tar –usage’ for more information.
dpkg-deb : erreur : le sous-processus tar a retournĂŠ une erreur de sortie d’ĂŠtat 64
dpkg : erreur de traitement de /var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb (–install) :
le sous-processus dpkg-deb –control a retournĂŠ une erreur de sortie d’ĂŠtat 2
dpkg-split : erreur : erreur de lecture sur .: est un dossier
dpkg : erreur de traitement de . (–install) :
le sous-processus dpkg-split a retournĂŠ une erreur de sortie d’ĂŠtat 2
Des erreurs ont ĂŠtĂŠ rencontrĂŠes pendant l’exĂŠcution :
.
/var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb
#16 par butufei à 27 janvier 2012 - 14 h 42 min
root@Server:~# dpkg -i /var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb
tar: unrecognized option `–warning=no-timestamp’
Try `tar –help’ or `tar –usage’ for more information.
dpkg-deb : erreur : le sous-processus tar a retournĂŠ une erreur de sortie d’ĂŠtat 64
dpkg : erreur de traitement de /var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb (–install) :
le sous-processus dpkg-deb –control a retournĂŠ une erreur de sortie d’ĂŠtat 2
Des erreurs ont ĂŠtĂŠ rencontrĂŠes pendant l’exĂŠcution :
/var/cache/apt/archives/libpam-modules_1.1.1-2ubuntu5.4_i386.deb
root@Server-Card:~# aptitude hold libpam-modules
Lecture des listes de paquets… Fait
Construction de l’arbre des dĂŠpendances
Lecture des informations d’ĂŠtat… Fait
Reading extended state information
Initializing package states… Fait
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information… Fait
Lecture des listes de paquets… Fait
Construction de l’arbre des dĂŠpendances
Lecture des informations d’ĂŠtat… Fait
Reading extended state information
Initializing package states… Fait
#17 par Jérémy à 22 septembre 2012 - 5 h 18 min
Hello,
Merci pour ce tuto très sympa et très clair ! Par contre petite question que dois-je faire ? Après la saisie de la commande : « chroot /mnt » il retourne la ligne suivante :
root@XX-XXX-XX-XX:~# chroot /mnt
chroot: cannot run command `/bin/bash’: No such file or directory
Après de nombreuses heures d’essai et de recherche je suis resté au même point. J’ai tenté le Mode Rescue x32 et x64 {même problème}
Merci d’avance
bonne matinée
#18 par Jérémy à 27 septembre 2012 - 2 h 19 min
Hello,
Après de nombreuses nuit blanche je n’ai toujours pas réglais mon problème.
J’ai donc pris la décision de réinstaller le serveurs après une sauvegarde des fichiers via le mode rescue.
Une fois le serveur ubuntu & plesk installer j’ai créer les domaines et mail sur mon plesk.
J’ai ensuite transférer les site, bdd et mail sur le serveur :
– les site web fonctionne correctement (après un chmod sur les bdd)
– mes ancien email on bien été télécharger en impa
Par conte j’ai un autre problème impossible d’envoyer / recevoir de nouveau email, les comptes fonctionne mais les emails envoyer / reçue sont stocker sur la File d’attente des messages de plesk.
Je pense que c’est un problème de chmod (lors du transfère de mes ancien mail) mais j’ai fais un chmod 777 sur tout le dossier et ses sous dossier mais cela ne change rien !
Vous avez une petite idées ?
Merci d’avance
#19 par Fred à 19 novembre 2012 - 17 h 00 min
Super la procedure. Mais comment se mettre en administrateur avec le terminal sous live cd?
Je souhaite sauvegarder mes fichiers avant une reinstall.
Merci