¿Cómo reparar el error "El paquete está en un estado inconsistente muy malo"?

94

¡No puedo actualizar mi sistema porque se congela al instalar una actualización de terceros (zramswap-enabler)!

A veces recibo el siguiente mensaje en el Administrador de actualizaciones:

No se pudo inicializar la información del paquete Se produjo un problema irresoluble al inicializar la información del paquete.

Informe este error contra el paquete 'update-manager' e incluya el siguiente mensaje de error:

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

Intenté eliminar el zramswap-enabler, pero es imposible porque recibo el siguiente mensaje:

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 realidad, realmente reinstalaría ese paquete, ¡pero no puede hacerlo! Si elimino este PPA de terceros, el sistema me está advirtiendo sobre un problema muy muy grave.

Entonces, ¿por qué no puedo instalar / reinstalar / eliminar / actualizar este paquete y por qué congela el actualizador si intento actualizar?

Benjamin Piller
fuente

Respuestas:

118

Editado fuera de la pregunta y agregado como respuesta.

  1. Asegúrese de que su PPA esté configurado.

  2. Elimine el paquete roto con el siguiente comando:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Instale el paquete nuevamente:

    sudo apt-get install zramswap-enabler
    
  4. Después de reiniciar (no es necesario), puede instalar las actualizaciones correctamente.

En realidad, puede solucionar cualquier problema de "El paquete está en un estado inconsistente muy malo" con esta solución.

hexafracción
fuente
1
@CharlesL ¡No hay problema! Tenga en cuenta que esta respuesta es wiki comunitaria, y la solución fue encontrada inicialmente por el autor de la pregunta, por lo que no puedo dar crédito por ello. Todo lo que hice fue editar y reorganizar para moverlo a una respuesta.
ζ--
Tuve algunos problemas con este (14.04 a 16.04). "gcc-doc" no funcionó. Se mostró el mensaje de error /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.deby las herramientas rechazaron '%' en el nombre, por lo que el nombre completo tampoco funcionó. Terminé eliminando archivos hasta que fue feliz - vea ubuntuforums.org/showthread.php?t=2321414&page=2 .
fadden
1
Tuve que usar una combinación de --force-remove-reinstreqy --purge --force-dependscuando de cpp-5alguna manera tuve problemas de dependencia rotos.
guiones
71

¡Esto funcionó para mí después de recorrer casi todos los foros de AskUbuntu y Ubuntu! ( Fuente ) Estoy ejecutando 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
fuente
2
¡Finalmente! Esto funcionó cuando dpkg y apt no eliminarán ni reinstalarán un paquete
abaelter
1
Gracias. ¡Esto me salvó MUCHO TIEMPO! Intenté omitir la última línea, seguido de a apt-get install...y tuve que comenzar de nuevo y hacer TODAS las cuatro líneas, luego finalmente pude purgar mi paquete. :)
Ryan H.
1
La única respuesta verdadera que funciona en cualquier momento.
veces
1
Esto ayudó cuando tuve problemas con gcc-doc y cpp-doc después de una actualización de 14.04. Tenía herramientas más recientes instaladas desde ppa: ubuntu-toolchain-r / test y lo arruinaron todo. Moraleja de la historia, purgar ppas antes de actualizar a una nueva versión. Pero este consejo me ayudó a arreglar el desastre después.
Charphacy
1
Esto funcionó para mí. Eliminé 1 archivo para corregir mi problema de eliminación de cactus. Eliminado /var/lib/dpkg/info/cacti.list
Mad Man
13

Tuve una situación peor que esta. Tuve que eliminar los paquetes a medio instalar forzando dependencias.

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

Luego tuve que reinstalarlos

sudo apt-get -f install

Eso debería resolver cualquier problema. Pero asegúrese de tener conectividad de red cuando intente hacer esto. De lo contrario, tendrá que pasar por más problemas.

Sriram Murali
fuente
1
Me sale un error: dpkg: paquete de procesamiento de errores debconf (--configure): el paquete está en un estado inconsistente muy malo; debe reinstalarlo antes de intentar la configuración Se encontraron errores durante el procesamiento: debconf
IgorGanapolsky
8

Las otras respuestas son correctas para mencionar la eliminación de un paquete seguido de la apt-get install -freinstalación del paquete roto (e instalar completamente otros paquetes a medio instalar). Sin embargo, esto se puede hacer en un solo paso:

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

Intentaría limpiar el estado de mi instalación antes de recurrir a desinstalar lo que haya creado el problema:

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

Una forma mucho mejor de resolver esto en la mayoría de los casos y en al menos una instancia me había ayudado cuando la otra forma no funcionaba (porque las enormes dependencias en el paquete que se eliminaría)

Dr. Azrael Tod
fuente
Esto produce un error:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky
1
Supongo que hiciste esto desde una cuenta que no es de administrador. Intente ponerle un prefijo a cada línea con sudo o inicie sesión completamente como root (es decir, con "sudo su" y su contraseña o "su" y la contraseña de administrador)
Dr. Azrael Tod
1

Tuve un problema similar con quagga, el demonio de enrutamiento. Simplemente reinstalar el paquete funcionó para mí:

# 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

Ahora está bien otra vez:

#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
fuente
1

Lo mismo me sucedió cuando me desconecté de Internet mientras descargaba el paquete 'wireshark'. Después de eso, cuando intenté reinstalarlo, arrojó el mismo error 'el paquete está en un estado inconsistente muy malo'. He intentado todos los comandos para instalar, purgar, eliminar y reinstalar, pero nada funcionó. Después de buscar un poco en Google, me topé con un comando

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

(cambiar libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debcon cualquier paquete que esté creando un problema, en el directorio /var/cache/apt/archives/).

Después de que se resolvieron todos los problemas. Quité el paquete nuevamente usando

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove para eliminar completamente el paquete.

Después de eso, he instalado Wireshark utilizando de nuevo: sudo apt-get install wireshark.
¡Todo funciona bien ahora!

Rferences:
Cómo resolver ” Subproceso usr bin dpkg devolvió un código de error 1 ″ ¿Error?
Corregir error dpkg

Dark_Byt3
fuente