Récupérer après l'arrêt lors de la mise à niveau de la distribution Ubuntu


18

J'ai un ordinateur qui a été arrêté de manière inattendue lors d'une mise à niveau de la distribution (Ubuntu 8.10 -> 9.04). Il ne terminera plus le démarrage - diverses erreurs X, puis il ira à l'écran de connexion mais ne permettra pas les connexions.

J'en ai une sauvegarde et les données / home sont toujours correctes sur le lecteur, donc ce n'est pas urgent, mais une reconstruction complète est toujours un processus ennuyeux et long. Y a-t-il un moyen de s'en remettre? J'ai un CD 9.04, je réfléchissais à essayer d'installer par-dessus - est-ce une bonne idée?

À défaut, existe-t-il un bon moyen d'inspecter le lecteur et de générer une liste des logiciels installés, et de préférence même les réglages de l'extérieur / de la maison (comme / etc)?


Si je dois recommencer à zéro, des recommandations pour traiter avec la personne responsable de l'arrêt inattendu? :)


EDIT: Merci beaucoup pour toutes les réponses, j'ai vraiment besoin d'accepter toutes les réponses car j'avais besoin d'utiliser des bits de chacune. J'ai pu réparer complètement l'installation en utilisant quelque chose comme ceci:

sudo dpkg --configure -a
sudo apt-get update
sudo dpkg --configure -a
sudo dpkg --configure -a --abort-after=99999
sudo apt-get dist-upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade

1
Utilisez un LART ( catb.org/jargon/html/L/LART.html ): "Le classique LART est un 2x4 ou une autre grosse billette de bois utilisable comme poterie [...] club, armes automatiques, lance-flammes et tactique les armes nucléaires ont toutes leurs partisans. "
David Schmitt

Pouvez-vous réellement saisir vos informations de connexion, ou le clavier et / ou la souris ne sont-ils pas disponibles?
Oddmund

Je pourrais taper les informations d'identification, mais cela n'irait pas plus loin. CTRL + ALT + F1 m'a cependant donné un terminal et j'ai pu me connecter
Colin Pickard

Vous pouvez rencontrer des problèmes lorsque / usr, / home et des dossiers similaires sont montés à partir de disques distincts, dans cette situation, la liaison est utile. utilisez mount --bind / proc / chrooted / proc mount --bind / mnt / usr / chrooted / usr ...

Réponses:


11

Si vous pouvez arriver à un endroit où vous pouvez utiliser dpkg en tant que root, vous pouvez exécuter dpkg --configure -a

Cependant, vous pourriez constater que cela explose pour une mise à niveau distante borked, vous pourriez donc avoir besoin de:

dpkg --configure -a --abort-after=99999

7

Essayez d'appuyer sur CTRL-ALT-F1 et voyez si vous obtenez une invite de commande. Vérifiez si vous pouvez vous connecter, puis essayez d'exécuter sudo apt-get dist-upgrade . Cela devrait vous permettre également de terminer la mise à niveau. Vous pouvez obtenir des erreurs, vous devrez peut-être également essayer d'utiliser sudo dpkg --configure -a .


Pour obtenir une liste des logiciels installés, vous pouvez exécuter la commande dpkg --get-selections . Si vous enregistrez la sortie de cette commande dans un fichier, vous pouvez utiliser la commande cat selections | sudo dpkg --set-selections , puis utilisez la commande sudo apt-get dselect-upgrade pour obtenir tous les packages installés.

Si vous suivez cette voie, vous devriez probablement sauvegarder vos dossiers / etc et / home sur un autre appareil.


Je vais ajouter dpkg --get-selections à mes scripts de sauvegarde je pense. Très utile.
Colin Pickard,

5
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

La 1ère ligne actualise le niveau actuel du référentiel contre lequel vous téléchargez

La 2e ligne reconfigure tous les paquets qui sont dans un "mauvais" état

La 3ème ligne est là juste au cas où le référentiel "se déplace" vers la nouvelle version pendant le processus de la 2ème ligne.

La 4ème ligne devrait terminer le travail.


5

J'ai pu récupérer d'une situation catastrophique où Xubuntu ne démarre pas après une coupure de courant lors d'une mise à niveau. Environ 10 secondes après le POST, Xubuntu s'arrêterait avec une multitude d'erreurs (essayer de charger l'option "recovery" dans grub ne fonctionnerait même pas non plus).

Donc, si quelqu'un tombe sur cela, je publie des informations sur les forums Ubuntu qui m'ont aidé à accéder à une fenêtre de terminal afin que je puisse utiliser les commandes Colin et Avery postées ci-dessus.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

ubuntuforums.org/showthread.php?t=157250

Disons que votre système vient de fondre après une mise à niveau, ou que votre nouveau noyau ne démarre pas. Vous ne pouvez pas résoudre le problème avec apt-get, car vous ne pouvez même pas accéder à une ligne de commande; le noyau crache des erreurs et se bloque au démarrage. Heureusement, avec un CD live, vous pouvez réparer votre système et le faire fonctionner. Vous avez 2 options pour le live cd: Knoppix ou le live cd Ubuntu. Étant donné que Knoppix a généralement une meilleure détection matérielle, cela sera utilisé comme exemple.

  1. Tout d'abord, téléchargez l'iso sur http://www.knoppix.org/ et gravez-le sur un disque.
  2. Obtenez votre BIOS configuré pour démarrer à partir du CD, insérez le disque Knoppix et démarrez.
  3. Votre disque dur devrait apparaître sur le bureau KDE en tant que hda1 ou sdb2 ou quelque chose, selon votre système.
  4. Cliquez dessus pour le monter, puis faites un clic droit, actions -> passez en mode lecture-écriture. Cela ouvrira une boîte de dialogue; cliquez sur oui.
  5. Maintenant, ouvrez un terminal racine, trouvé dans le menu Knoppix (celui à côté du K sur le panneau). Entrez: chroot / mnt / hda1 ou tout ce que l'icône de votre disque dur indique sur le bureau.

Vous pouvez maintenant utiliser toutes les commandes du disque dur, y compris apt-get. Si jamais vous obtenez cette erreur: "/ dev / null: Autorisation refusée" alors faites ceci: "sudo rm / dev / null" et cela devrait disparaître. Maintenant, utilisez apt-get pour mettre à niveau votre noyau, udev ou tout autre élément qui gâche votre système.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

Cela a parfaitement fonctionné aussi! J'ai monté mon disque dur selon les instructions, ouvert une fenêtre de terminal, entré "sudo chroot / media / hda1" et finalement eu accès à mon disque dur. J'ai ensuite pu utiliser les commandes publiées plus tôt dans ce fil pour redémarrer le processus de mise à niveau. :)

Il n'est pas étonnant que le CD Ubuntu Live / Installation n'ait pas de «console de récupération» intégrée pour faciliter tout ce processus de récupération.


Cela a fonctionné pour moi dans une situation similaire. Cette réponse sur SU donne d'excellentes instructions sur la façon de monter correctement la ou les partitions à partir du CD live.
zelanix

1

Pour moi, une autre commande aide également dans l'environnement chroot à configurer correctement tous les packages (exécutez-le avant, dpkg ,distetc.):

Les travaux Upstart ne peuvent pas être démarrés dans un chroot car Upstart agit en tant que superviseur de service et les processus au sein du chroot ne peuvent pas communiquer avec le upstart s'exécutant en dehors du chroot (bogue: 430224). Cela entraînera l'échec de la mise à niveau de certains packages qui ont été convertis pour utiliser des tâches de démarrage au lieu des scripts d'initialisation dans un chroot. Il est conseillé aux utilisateurs de configurer leurs chroots avec / sbin / initctl pointant vers / bin / true, avec les commandes suivantes exécutées dans le chroot:

Code:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.