web-dev-qa-db-fra.com

Comment réparer l'erreur "Le paquet est dans un état d'incohérence très mauvais"?

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?

92
Benjamin Piller

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!

116
hexafraction

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
69
Hamman Samuel

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.

11
Sriram Murali

Les autres réponses sont correctes pour mentionner une suppression de paquet suivie de apt-get install -f pour 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
8
David Foerster

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 énorme dépendances du paquet à supprimer)

2
Dr. Azrael Tod

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 incohérent". 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

(changez libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_AMD64.deb avec 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é de nouveau Wdshark en utilisant: Sudo apt-get install wireshark.
Tout fonctionne bien maintenant!

Références:
Comment résoudre ”Sous-processus usr bin dpkg a renvoyé un code d'erreur 1 ″ Erreur?
Correction de l'erreur dpkg

1
Dark_Byt3

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 à nouveau:

#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.
1
locutus