Como corrigir o erro "O pacote está em um estado inconsistente muito ruim"?

93

Não consigo atualizar meu sistema porque ele congela durante a instalação de uma atualização de terceiros (zramswap-enabler)!

Às vezes, recebo a seguinte mensagem no Gerenciador de atualizações:

Não foi possível inicializar as informações do pacote Ocorreu um problema não resolvido ao inicializar as informações do pacote.

Por favor, reporte esse bug no pacote 'update-manager' e inclua a seguinte mensagem de erro:

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

Tentei remover o zramswap-enabler, mas é impossível porque recebo a seguinte mensagem:

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)

Na verdade, eu realmente reinstalaria esse pacote, mas ele não pode fazê-lo! Se eu remover este PPA de terceiros, o sistema estará me avisando sobre um problema muito sério.

Então, por que não consigo instalar / reinstalar / remover / atualizar este pacote e por que congela o atualizador se tentar atualizar?

Benjamin Piller
fonte

Respostas:

117

Editado fora da pergunta e adicionado como resposta.

  1. Verifique se o seu PPA está configurado.

  2. Remova o pacote quebrado através do seguinte comando:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Instale o pacote novamente:

    sudo apt-get install zramswap-enabler
    
  4. Após a reinicialização (não necessária), você poderá instalar as atualizações corretamente!

Na verdade, você pode corrigir qualquer problema "O pacote está em um estado inconsistente muito ruim" com esta solução!

hexafraction
fonte
1
@CharlesL Não é um problema! Observe que esta resposta é um wiki da comunidade, e a solução foi encontrada inicialmente pelo autor da pergunta, portanto não posso receber crédito por ela. Tudo o que fiz foi editar e reorganizar para transformá-lo em uma resposta.
ζ--
Eu tive alguns problemas com este (14.04 a 16.04). "gcc-doc" não funcionou. A mensagem de erro foi exibida /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.debe as ferramentas rejeitam '%' no nome; portanto, o nome completo também não funcionou. Acabei removendo arquivos até ficar feliz - veja ubuntuforums.org/showthread.php?t=2321414&page=2 .
Fadden
1
Eu tive que usar uma combinação de --force-remove-reinstreqe --purge --force-dependsquando de cpp-5alguma forma tinha problemas de dependência quebrados.
precisa saber é
70

Isso funcionou para mim depois de vasculhar todo o fórum AskUbuntu e Ubuntu! ( Fonte ). Estou executando o 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
fonte
2
Finalmente! Isso fez o truque quando dpkg e apt não irá remover ou reinstalar um pacote
abaelter
1
Obrigado. Isso me salvou MUITO TEMPO! Eu tentei pular a última linha, seguida por uma apt-get install...e tive que começar de novo e fazer TODAS as quatro linhas, para finalmente poder limpar meu pacote. :)
Ryan H.
1
A única resposta verdadeira que funciona a qualquer momento.
twicejr
1
Isso ajudou quando tive problemas com o gcc-doc e o cpp-doc após uma atualização do 14.04. Eu tinha ferramentas mais recentes instaladas no ppa: ubuntu-toolchain-r / test e elas estragaram tudo. Moral da história, limpe os ppas antes de atualizar para um novo lançamento. Mas essa dica me ajudou a consertar a bagunça depois.
Charphacy
1
Isso funcionou para mim. Eu removi 1 arquivo para corrigir meu problema de remoção de cactos. Removido /var/lib/dpkg/info/cacti.list
Mad Man
12

Eu tive uma situação pior que isso. Eu tive que remover os pacotes semi-instalados forçando dependências.

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

Então eu tive que reinstalá-los

sudo apt-get -f install

Isso deve resolver qualquer problema. Mas verifique se você possui conectividade de rede ao tentar fazer isso. Caso contrário, você terá que enfrentar ainda mais problemas.

Sriram Murali
fonte
1
Eu recebo um erro: dpkg: erro ao processar o pacote debconf (--configure): o pacote está em um estado inconsistente muito ruim; você deve reinstalá-lo antes de tentar a configuração. Foram encontrados erros durante o processamento: debconf
IgorGanapolsky
8

As outras respostas estão corretas ao mencionar uma remoção de pacote seguida por apt-get install -freinstalar o pacote quebrado (e instalar completamente outros pacotes semi-instalados). No entanto, isso pode ser feito em uma etapa:

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

eu tentaria limpar o status da minha instalação antes de recorrer à desinstalação do que criou o problema:

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

maneira muito melhor de resolver isso na maioria dos casos e em pelo menos uma instância me ajudou quando a outra maneira não funcionava (porque enormes dependências do pacote a ser removido)

Dr. Azrael Tod
fonte
Isso gera um erro:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky 30/01
1
Eu acho que você fez isso de uma conta que não é de administrador. Tente prefixar cada linha com sudo ou efetue login completo como root (ou seja, com: "sudo su" e sua senha ou "su" e a senha de administrador)
Dr. Azrael Tod
1

Eu tive um problema semelhante com o quagga, o daemon de roteamento. Apenas reinstalar o pacote funcionou para mim:

# 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

Agora está tudo bem novamente:

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

O mesmo aconteceu comigo quando fui desconectado da Internet durante o download do pacote 'wireshark'. Depois disso, quando tentei reinstalá-lo, ele lançou o mesmo erro 'o pacote está em um estado inconsistente muito ruim'. Eu tentei todos os comandos para instalar, limpar, remover e reinstalar, mas nada funcionou. Depois de pesquisar um pouco, deparei-me com um comando

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

(mude libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debcom qualquer pacote que esteja criando problemas, no diretório /var/cache/apt/archives/).

Depois que todos os problemas foram resolvidos. Eu removi o pacote novamente usando

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove para remover completamente a embalagem.

Depois disso, eu instalei Wireshark novamente usando: sudo apt-get install wireshark.
Tudo funciona sem problemas agora!

Referências:
Como resolver ”O subprocesso usr bin dpkg retornou um código de erro 1 ″ Erro?
Corrigir erro dpkg

Dark_Byt3
fonte