Comment réparer l'erreur «Le paquet est dans un très mauvais état incohérent»?

94

Je ne peux pas mettre à jour mon système car il se bloque lors de l'installation d'une mise à jour tierce (zramswap-enabler)!

Parfois, le message suivant s'affiche dans le gestionnaire de mise à jour:

Impossible d'initialiser les informations sur le package Un problème insoluble s'est produit lors de l'initialisation des informations sur le package.

Veuillez signaler ce bogue au package 'update-manager' et inclure le message d'erreur suivant:

E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.

J'ai essayé de supprimer zramswap-enabler, mais c'est impossible car je reçois le message suivant:

dpkg: error processing zramswap-enabler (--remove):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
Errors were encountered while processing:
 zramswap-enabler
E: Sub-process /usr/bin/dpkg returned an error code (1)

En fait, je réinstallerais vraiment ce paquet, mais il est incapable de le faire! Si je supprime ce contrat d'achat tiers, le système m'avertit d'un très grave problème.

Alors pourquoi ne puis-je pas installer / réinstaller / supprimer / mettre à jour ce paquet et pourquoi geler le programme de mise à jour si j'essaie de le mettre à jour?

Benjamin Piller
la source

Réponses:

118

Edité hors de la question et ajouté comme réponse.

  1. Assurez-vous que votre PPA est configuré.

  2. Supprimez le paquet cassé via la commande suivante:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Installez le paquet à nouveau:

    sudo apt-get install zramswap-enabler
    
  4. Après le redémarrage (non nécessaire), vous pouvez installer les mises à jour correctement!

En fait, vous pouvez corriger n’importe quel problème "Le paquet est dans un très mauvais état incohérent" avec cette solution!

hexafraction
la source
1
@CharlesL Pas un problème! Notez que cette réponse est un wiki de communauté et que la solution a été initialement trouvée par l'auteur de la question. Je ne peux donc pas en prendre le crédit. Tout ce que je fis, c’est éditer et réorganiser pour en faire une réponse.
ζ--
J'ai eu quelques problèmes avec celui-ci (14.04 à 16.04). "gcc-doc" n'a pas fonctionné. Le message d'erreur s'affiche /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.debet les outils rejettent '%' dans le nom. Le nom complet ne fonctionne donc pas non plus. J'ai fini par supprimer des fichiers jusqu'à ce qu'il soit heureux - voir ubuntuforums.org/showthread.php?t=2321414&page=2 .
Fadden
1
Je devais utiliser une combinaison de --force-remove-reinstreqet --purge --force-dependsquand cpp-5avait rompu en quelque sorte des problèmes de dépendance.
Dashesy
71

Cela a fonctionné pour moi après avoir parcouru presque tous les forums AskUbuntu et Ubuntu! ( Source ). Je cours Lubuntu 14.04

sudo mv /var/lib/dpkg/info/<packagename>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <packagename>
sudo apt-get remove <packagename>
sudo apt-get autoremove && sudo apt-get autoclean
Hamman Samuel
la source
2
Finalement! Cela a fait l'affaire quand dpkg et apt ne veulent pas supprimer ou réinstaller un paquet
abaelter
1
Merci. Cela m'a sauvé beaucoup de temps! J'ai essayé de sauter la dernière ligne, suivi d'un apt-get install...et j'ai dû recommencer et faire TOUTES les quatre lignes, puis je pouvais enfin purger mon paquet. :)
Ryan H.
1
La seule vraie réponse qui fonctionne à tout moment.
deux fois
1
Cela m'a aidé lorsque j'ai eu des problèmes avec gcc-doc et cpp-doc après une mise à niveau de 14.04. J'ai eu des outils plus récents installer à partir de ppa: ubuntu-toolchain-r / test et ils ont tout bousillé. Morale de l'histoire, purgez les ppas avant de passer à une nouvelle version. Mais cette astuce m'a aidé à réparer le désordre après.
Charphacy
1
Cela a fonctionné pour moi. J'ai supprimé 1 fichier pour corriger mon problème de suppression de cactus. Supprimé /var/lib/dpkg/info/cacti.list
Mad Man
13

J'ai eu une situation pire que celle-ci. J'ai dû supprimer les packages à moitié installés en forçant des dépendances.

sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>

Ensuite, j'ai dû les réinstaller

sudo apt-get -f install

Cela devrait résoudre n'importe quel problème. Mais assurez-vous d’avoir la connectivité réseau lorsque vous essayez de le faire. Sinon, vous devrez passer par encore plus de problèmes.

Sriram Murali
la source
1
Je reçois une erreur: dpkg: erreur lors du traitement du paquet debconf (--configure): le paquet est dans un très mauvais état incohérent; vous devez le réinstaller avant toute tentative de configuration Des erreurs ont été rencontrées lors du traitement: debconf
IgorGanapolsky le
8

Les autres réponses sont correctes pour mentionner une suppression de paquet suivie apt-get install -fde réinstaller le paquet cassé (et installer complètement les autres paquets à moitié installés). Cependant, cela peut être fait en une étape:

sudo apt-get install -f --reinstall zramswap-enabler
David Foerster
la source
2

J'essayerais de nettoyer le statut de mon installation avant de désinstaller ce qui a créé le problème:

apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f

un moyen bien meilleur de résoudre ce problème dans la plupart des cas et au moins un cas m'avait aidé lorsque l'inverse ne fonctionnait pas (car d' énormes dépendances du paquet devaient être supprimées)

Dr. Azrael Tod
la source
Cela sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
génère
1
Je suppose que vous l'avez fait à partir d'un compte non-administrateur. Essayez de préfixer chaque ligne avec sudo ou de vous connecter en tant que root (avec: "sudo su" et votre mot de passe ou "su" et le mot de passe administrateur)
Dr. Azrael Tod
1

J'ai eu un problème similaire avec Quagga, le démon de routage. Réintégrer le paquet a fonctionné pour moi:

# apt-get install -f  
<some output ommited>
dpkg: warning: overriding problem because --force enabled:
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.

wget http://security.debian.org/debian-security/pool/updates/main/q/quagga/quagga_0.99.22.4-1+wheezy3_i386.deb
dpkg -i quagga_0.99.22.4-1+wheezy3_i386.deb

Maintenant c'est ok encore:

#apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
locutus
la source
1

La même chose m’est arrivée lorsque j’ai été déconnecté d’Internet lors du téléchargement du paquet «wireshark». Après cela, lorsque j’ai essayé de le réinstaller, il a renvoyé le même message d'erreur «Le package est dans un très mauvais état incompatible». J'ai essayé toutes les commandes pour installer, purger, supprimer et réinstaller mais rien n'a fonctionné. Après un peu de googler, je suis tombé sur un ordre

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb

(changer libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debavec le paquet qui crée le problème, dans le répertoire /var/cache/apt/archives/).

Après tous les problèmes ont été résolus. J'ai enlevé le paquet encore en utilisant

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove pour supprimer complètement le paquet.

Après cela, j'ai installé Wireshark à nouveau en utilisant: sudo apt-get install wireshark.
Tout fonctionne bien maintenant!

Rferences:
How To Solve ”Sous-processus usr bin dpkg a renvoyé un code d'erreur 1 ″ Erreur?
Correction d'erreur dpkg

Dark_Byt3
la source