75 votes

E : dpkg a été interrompu... Exécutez 'sudo dpkg --configure -a'.

J'exécutais une mise à jour avec la commande apt-get, et cela prenait un temps exceptionnellement long parce qu'à mi-chemin, mon FAI m'a frappé en plein visage avec sa politique d'utilisation équitable.

Après m'être assis à l'extérieur et avoir regardé la pluie pendant un certain temps, mon électronique a repris conscience, je suis donc retourné pour terminer la mise à niveau et mon terminal m'a grondé en disant

"E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem."

Le dernier morceau d'information lisible était tout ceci :

Installing (ri/RDoc) documention for (stuff and such)
ERROR:  Could not find a valid gem 'watobo-0.9.8.724.gem' (>= 0) in any repository
rm: cannot remove `watobo-0.9.8.724.gem': No such file or directory

Setting up metasploit (4.3.0-bt1) ...
Upgrading Pre-Existing Installation...
/opt/metasploit/postgresql/scripts/ctl.sh : postgresql  (pid 1191) already running
prosvc is running
metasploit is running
[*]
[*] Attempting to update the Metasploit Framework...
[*]

Et ça continue pendant des kilomètres, à parler de cachettes de pierres précieuses, de rubis, et de trucs que j'aimerais avoir. Tout ça jusqu'à :

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

...et il est resté là, toute la nuit. Si je l'arrête, est-ce que j'aurai toujours l'erreur dpkg (au cas où je ne l'aurais pas), ou si oui, que dois-je faire pour recommencer à utiliser les commandes apt-get et ses super pouvoirs de vache ?

87voto

TrailRider Points 6819
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Cette erreur vous indique en fait exactement ce qui ne va pas : dpkg a été interrompu parce que le paquet n'était pas configuré correctement.

Exécutez la commande qu'il vous indique sudo dpkg --configure -a et il devrait être capable de se corriger.

Si ce n'est pas le cas, essayez de lancer sudo apt-get install -f (pour corriger les paquets cassés) et ensuite essayer d'exécuter sudo dpkg --configure -a encore.

Assurez-vous simplement que vous disposez d'un accès à Internet afin de pouvoir télécharger toutes les dépendances.

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

11voto

titusfx Points 261

J'ai essayé la solution de @TrailRider et ça n'a pas marché 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. J'ai essayé de mettre à jour et de mettre à niveau :

    sudo apt update
    
    sudo apt upgrade
  3. Je ne pourrais pas, c'est écrit :

    E: Could not get lock /var/lib/dpkg/lock

    Cela signifie qu'un programme est en train de mettre à jour le système ou d'installer un nouveau logiciel.

  4. IMPORTANT : Vérifier si un autre processus est en train de verrouiller dpkg au lieu de les supprimer immédiatement. Car si c'est le cas, vous devez attendre qu'ils soient terminés.

  5. Vérifier si certains programmes sont verrouillés dpkg des fichiers :

    ps aux | grep -i apt

    Si vous n'avez qu'une seule sortie, quelque chose qui se termine comme :

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

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

    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 encore :

    sudo dpkg --configure -a

    Cela devrait fonctionner.

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

    sudo apt update
    sudo apt upgrade

    Cela devrait permettre de reprendre le processus et de garder tout stable.

C'est comme ça que je le répare.

NOTE : Je vous recommande, quoi que vous essayiez, de garder une trace/un journal des commandes que vous appliquez, cette précaution aidera les autres à vous aider si quelque chose ne va pas.

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