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

74

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

Às vezes recebo a seguinte mensagem no gerenciador de atualização:

% bl0ck_qu0te%

Eu 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 não é possível! Se eu remover este PPA de terceiros, o sistema está 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 eu tentar atualizá-lo?

    
por Benjamin Piller 09.06.2012 / 21:51

7 respostas

95

Editado fora da pergunta e adicionado como resposta.

  1. Certifique-se de que o seu PPA esteja configurado.

  2. Remova o pacote quebrado por meio 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ário), você poderá instalar as atualizações corretamente!

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

    
por hexafraction 13.04.2017 / 14:24
62

Isso funcionou para mim depois de praticamente vasculhar todos os fóruns 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
    
por Hamman Samuel 13.08.2014 / 18:06
9

Eu tive uma situação pior do 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, por favor, verifique se você tem conectividade de rede ao tentar fazer isso. Caso contrário, você terá que enfrentar ainda mais problemas.

    
por Sriram Murali 01.10.2013 / 20:23
7

As outras respostas estão corretas para mencionar uma remoção de pacote seguida de apt-get install -f para reinstalar o pacote corrompido (e instalar completamente outros pacotes semi-instalados). No entanto, isso pode ser feito em uma única etapa:

sudo apt-get install -f --reinstall zramswap-enabler
    
por David Foerster 22.02.2017 / 14:22
1

Eu tentaria limpar o status da minha instalação antes de recorrer à desinstalação do que quer que tenha criado o problema:

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

uma 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 funcionou (porque grandes dependências do pacote a serem removidas)

    
por Dr. Azrael Tod 18.05.2015 / 06:44
1

Eu tive um problema parecido com o quagga, o daemon de roteamento. Apenas reinstalando 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á ok 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.
    
por locutus 14.10.2016 / 14:33
1

Aconteceu a mesma coisa quando me desconectei da internet durante o download do pacote 'wireshark'. Depois disso, quando eu tentei reinstalá-lo, ele jogou 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 um pouco de googling, me deparei com um comando

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

(altere libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb com qualquer pacote que esteja criando problema, no diretório /var/cache/apt/archives/ ).

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

sudo apt --purge remove libwireshark8:amd64 e sudo apt autoremove para remover totalmente o pacote.

Depois disso, instalei o wireshark novamente usando: sudo apt-get install wireshark .
Tudo funciona bem agora!

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

    
por Dark_Byt3 25.04.2018 / 19:09