75 votes

F: dpkg a été interrompu... exécuter 'sudo dpkg --configure -a'

J'étais en train de faire une mise à niveau avec la commande apt-get, et cela prenait un temps exceptionnellement long car à mi-chemin, mon FSI m'a frappé avec leur politique d'utilisation équitable.

Après être resté dehors à regarder la pluie pendant un moment, mes appareils électroniques ont retrouvé conscience, donc je suis retourné pour terminer la mise à niveau et mon terminal me réprimande avec

"E: dpkg a été interrompu, vous devez exécuter manuellement 'sudo dpkg --configure -a' pour corriger le problème."

La dernière partie d'information lisible était tout ceci :

Installation de la documentation (ri/RDoc) pour (chose et autre)
ERREUR : Impossible de trouver une gemme valide 'watobo-0.9.8.724.gem' (>= 0) dans aucun dépôt
rm: impossible de supprimer 'watobo-0.9.8.724.gem': Aucun fichier ou dossier de ce type

Configuration de metasploit (4.3.0-bt1) ...
Mise à niveau de l'installation préexistante...
/opt/metasploit/postgresql/scripts/ctl.sh : postgresql  (pid 1191) déjà en cours d'exécution
prosvc fonctionne
metasploit fonctionne
[*]
[*] Tentative de mise à jour du framework Metasploit...
[*]

Et ainsi de suite pendant des kilomètres, parlant de caches de gemmes, de rubis et de choses que j'aimerais avoir. Jusqu'à :

A    lib/gemcache/ruby/1.9.1/gems/state_machine-1.1.2/gemfiles/active_record-2.1.2.gemfile.lock

...et là ça a été assis, toute la nuit. Si je l'arrête, aurai-je toujours l'erreur dpkg (au cas où je ne l'aurais pas), ou le cas échéant que dois-je faire pour reprendre l'utilisation des commandes apt-get et de ses Super Pouvoirs de Vache ?

87voto

TrailRider Points 6819
E: dpkg a été interrompu, vous devez exécuter manuellement 'sudo dpkg --configure -a' pour corriger le problème.

Cette erreur vous indique en réalité ce qui ne va pas : dpkg a été interrompu et, par conséquent, le paquet n'a pas été configuré correctement.

Exécutez la commande qu'elle vous indique sudo dpkg --configure -a et cela devrait pouvoir se corriger de lui-même.

Si cela ne fonctionne pas, essayez d'exécuter sudo apt-get install -f (pour réparer les paquets cassés) puis essayez à nouveau d'exécuter sudo dpkg --configure -a.

Assurez-vous simplement d'avoir un accès à Internet disponible afin de pouvoir télécharger les dépendances nécessaires.

Ces instructions peuvent ne pas fonctionner si par mise à jour vous entendiez apt-get dist-upgrade. Si vous essayiez de faire une mise à niveau de distribution (par exemple de 11.10 à 12.04), vous devrez modifier votre question pour le refléter.

11voto

titusfx Points 261

J'ai essayé la solution de @TrailRider et cela n'a pas fonctionné pour moi. Je l'ai résolu en faisant ce qui suit :

  1. Supprimez les mises à jour avec :

    cd /var/lib/dpkg/updates
    
    sudo rm *
  2. Essayé de mettre à jour et d'améliorer :

    sudo apt update
    
    sudo apt upgrade
  3. Je n'ai pas pu, il dit que :

    E: Impossible de verrouiller /var/lib/dpkg/lock

    Cela signifie qu'un programme met à jour le système ou installe un nouveau logiciel.

  4. IMPORTANT : Vérifiez si un autre processus bloque les fichiers dpkg au lieu de les supprimer immédiatement. Parce que si c'est le cas, vous devez attendre qu'ils finissent.

  5. Vérification si des programmes bloquent les fichiers dpkg :

    ps aux | grep -i apt

    Si vous avez seulement une sortie, quelque chose qui se termine comme :

    S+   19:16   0:00 grep --color=auto -i apt

    vous avez de la chance. Vous pouvez supprimer les fichiers de verrouillage dpkg que vous pouvez vérifier manuellement un par un avec :

    sudo lsof /var/lib/dpkg/lock
    sudo lsof /var/lib/apt/lists/lock
    sudo lsof /var/cache/apt/archives/lock

    Pour les supprimer utilisez :

    sudo rm /var/lib/apt/lists/lock
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock
  6. Essayez à nouveau :

    sudo dpkg --configure -a

    Cela devrait fonctionner.

  7. Vous devriez essayer de récupérer ce que vous installiez à ce moment-là avec :

    sudo apt update
    sudo apt upgrade

    Cela devrait reprendre le processus et maintenir la stabilité.

C'est ainsi que je l'ai réparé.

REMARQUE : Je vous recommande de garder une trace de toutes les commandes que vous essayez, cette précaution aidera les autres à vous aider si quelque chose tourne mal.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X