Comment récupérer après une mise à niveau échouée («apt-get -f install» et «dpkg --configure -a» échouent)?

14

Lors d'une mise à niveau de lucid (10.04) vers precis (12.04), la session X a gelé, et j'ai essayé de récupérer la mise à niveau pour obtenir un système stable. J'ai effectué les étapes suivantes:

  1. Ssh utilisé pour se connecter au système bloqué sur le réseau.
  2. Vérifié le contenu du /var/log/dist-upgraderépertoire. Il n'y avait pas d' activité sur main.log, apt.logou term.log.
  3. top a montré que le processus «précis» utilisait environ 3% de CPU, mais je n'ai trouvé aucune preuve que le processus de mise à niveau faisait encore quoi que ce soit.
  4. 'dpkg' n'est pas apparu en haut, mais il est venu avec pgrep dpkg | xargs ps
  5. Tué les processus «dpkg» et «précis»
  6. J'ai essayé de récupérer la mise à niveau en exécutant sudo fuser -vki /var/lib/dpkg/lock;sudo dpkg --configure -a. Cela a été partiellement réussi (certains packages ont été configurés), mais a échoué avec le message Processing was halted because there were too many errors. J'ai exécuté la même commande plusieurs fois, et à chaque fois certains packages ont été configurés mais d'autres ont échoué.
  7. J'ai essayé de courir sudo apt-get -f install. Il échoue avec des erreurs similaires à dpkg.

La situation actuelle est la suivante dpkg --configure -aet sudo apt-get -f installéchoue avec deux types d'erreur:

  1. Problèmes de dépendance, par exemple:

    dpkg: dependency problems prevent configuration of cifs-utils:
    cifs-utils depends on samba-common; however:
    Package samba-common is not configured yet.
    dpkg: error processing cifs-utils (--configure):
    dependency problems - leaving unconfigured
    
  2. Conflit de ressources, par exemple:

    debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
    

De plus, il semble qu'il y ait une référence à des problèmes de démarrage potentiels, donc je ne souhaite pas redémarrer sans corriger l'installation au préalable:

    dpkg: too many errors, stopping
    Processing triggers for initramfs-tools ...
    update-initramfs: Generating /boot/initrd.img-3.2.0-25-generic
    cryptsetup: WARNING: failed to detect canonical device of /dev/sda1
    cryptsetup: WARNING: could not determine root device from /etc/fstab

Ma question est donc de savoir comment obtenir une installation fonctionnelle en cas d' dpkg --configure -aéchec?

rudivonstaden
la source
Ont suivi les étapes sur help.ubuntu.com/community/… mais ont toujours des dépendances non résolues. Téléchargement ISO et fera une installation propre.
rudivonstaden

Réponses:

6

J'ai réussi à sauver la mise à niveau, même si je ne suis pas sûr à 100% de ce qui a fonctionné. D'autres pourraient encore en bénéficier:

  1. J'ai réussi à récupérer ma session X en passant à un terminal de ligne de commande (Ctl + Alt + F2) puis à revenir au terminal X (Ctl + Alt + F7), qui m'a ensuite demandé de me reconnecter. Le système était instable mais fonctionnait. J'ai ensuite pu fermer quelques invites liées à la mise à niveau.

  2. Il semble que le gestionnaire de mise à jour n'ait pas désactivé les PPA, j'ai donc nettoyé /etc/apt/sources.list.d/(supprimé toutes les entrées). Il a été suggéré sur IRC (#ubuntu) que je devais utiliser ppa-purge pour nettoyer les PPA, mais au final je les ai simplement supprimés.

  3. Après cela, sudo apt-get updateet sudo apt-get -f installrésolu la plupart des problèmes restants, mais il y avait encore des problèmes de dépendance avec samba.

  4. J'ai réussi à réparer Samba en le supprimant ( sudo apt-get remove samba) et en le réinstallant ( sudo apt-get install samba).

Après cela, le système était plus ou moins stable. J'ai également dû supprimer et réinstaller l'unité après un redémarrage, mais sinon, cela fonctionnait bien.

rudivonstaden
la source
1

J'ai eu ce problème aujourd'hui en essayant de passer à 14.04. J'ai remarqué des messages similaires comme:

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable

J'avais l'habitude sudo fuser /var/cache/debconf/config.datde déterminer quel processus était bloqué. Notez que vous devez trouver le fichier exact qui est «bloqué». Apparemment, une chose frontale qui ne s'est pas correctement affichée, mais qui a bloqué la progression de la mise à jour. Après avoir tué ce processus, j'ai pu reprendre la correction du système avec les commandes régulières.

jippie
la source
0

J'ai eu un problème similaire: 1. Synaptics ne lancerait pas ==> Message d'erreur: "run sudo dpkg --configure -a"

  1. "sudo dpkg --configure -a" échouerait ET redémarrerait mon PC (plusieurs fois)

  2. Toutes les intentions "sudo apt-get ..." échoueraient avec le même message d'erreur: $ sudo apt-get autoclean E: se interrumpió la ejecución de dpkg, debe ejecutar manualmente «sudo dpkg --configure -a» para corregir el problema.

A FONCTIONNÉ POUR MOI: 1. Exécuté plusieurs fois "sudo apt-get update" JUSQU'À ce que plus aucun téléchargement de package.

PASS N: Ign http://es.archive.ubuntu.com trusty / univers Translation-es_ES Descargados 4.294 kB en 31seg. (137 kB / s) E: se interrumpió la ejecución de dpkg, debe ejecutar manualmente «sudo dpkg --configure -a» para corregir el problema $

PASS N + 1: Ign http://es.archive.ubuntu.com trusty / univers Translation-es_ES E: se interrumpió la ejecución de dpkg, debe ejecutar manualmente «sudo dpkg --configure -a» para corregir el problema $ UNTIL AUCUN message "Descargados" n'apparaît (téléchargement).

  1. Relancé "sudo dpkg --configure -a"

Et ça a marché alors ... je ne sais pas pourquoi / comment. Mais OK maintenant.

Christophe Trille
la source