it-swarm-pt.tech

Como consertar atualizações sinápticas interrompidas: "O pacote está em um estado inconsistente muito ruim"

Eu tenho um Dell Mini9 executando o Ubuntu 8.10. Um dia tive a brilhante ideia de ver se conseguia instalar uma pilha LAMP. Tive problemas para instalar o MySQL 5.0. Não me lembro do erro, mas desde então todas as tentativas de executar o update-manager, synaptic ou apt-get falham com um erro sobre mysql-server-5.0: "O pacote está em um estado inconsistente muito ruim".

Eu tentei apt-get remove mysql-server-5.0 e também install mas sem sorte. Ambos falham com o mesmo erro abaixo. Como posso consertar isso?

 $ Sudo apt-get remove mysql-server-5.0 
 Lendo listas de pacotes ... Concluído 
 Construindo árvore de dependências 
 Lendo informações de estado ... Concluído 
 Os seguintes pacotes foram instalados automaticamente e não são mais necessários: 
 Dhcdbd libisc32 
 Use 'apt-get autoremove' para removê-los. 
 Os seguintes pacotes serão REMOVIDOS: 
 mysql-server-5.0 
 0 atualizado, 0 recém-instalado, 1 para remover e 164 não atualizado. 
 1 não totalmente instalado ou removido. 
 Após esta operação , 85,4 MB de espaço em disco serão liberados. 
 Deseja continuar [S/n]? 
 dpkg: erro ao processar mysql-server-5.0 (--remove): 
 O pacote está em um estado inconsistente muito ruim - você deve 
 reinstalá-lo antes de tentar uma remoção. 
 Erros foram encontrados durante o processamento: 
 Mysql-server-5.0 
 E: O subprocesso/usr/bin/dpkg retornou um código de erro (1) 
15
spoulson

Nenhuma das outras respostas funcionou para mim em Maverick.

No meu caso, descobri que funcionou:

Sudo rm /var/lib/dpkg/info/flashplugin-nonfree.prerm

Sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree

(substituindo "flashplugin-nonfree" pelo nome do pacote quebrado e substituindo "prerm" pelo tipo de script que falhou - no meu caso foi "postrm", o script de pós-remoção.)

E dizem que o Ubuntu é fácil de usar !! resmungar resmungar

19
Robin Green

Eu tive exatamente o mesmo problema com a instalação do mysql. Você precisa purgar o pacote. A simples remoção de um pacote não remove os arquivos de configuração que o acompanham.

Além disso, vou me referir a mysql-server-5., mas perceba que há um pacote wrapper mysql-server que sempre aponta para a versão mais recente. ou seja, se você pedir para instalar mysql-server, apt-get deve informar que depende de mysql -server-5. e instale ambos. Se você tiver o pacote mysql-server no sistema, certifique-se de que ele também foi removido antes de tentar reinstalar.

  • Certifique-se de que o servidor mysql (mysqld) não esteja em execução. Se estiver, desça:

    Sudo /etc/init.d/mysqld stop

  • Verifique se algum pacote depende do mysql-server-5.0:

    Sudo apt-cache rdepends mysql-server-5.0

    Se isso acontecer, você precisará usar a opção - force para desinstalar.

  • Limpe o pacote (inclua a opção - force , dependendo de # 2)

    Sudo apt-get --purge remove --force mysql-server-5.0

  • Certifique-se de que os arquivos do instalador também sejam limpos executando

    Sudo apt-get autoclean
    Sudo apt-get autoremove

  • Instale o pacote do servidor novamente

    Sudo apt-get install mysql-server-5.0

Esperançosamente, isso deve resolver seu problema. No entanto, o pacote ainda pode estar quebrado, se você fez quaisquer alterações nos arquivos que vieram do pacote mysql-common.

mysql-common é o pacote base usado pelos componentes cliente e servidor. Se as coisas não estiverem funcionando ainda, tente reinstalar este pacote. Definitivamente, haverá pacotes que dependem disso; verifique usando # 2 acima. Limpe mysql-server antes de reinstalar mysql-common. Além disso, não se esqueça de reinstalar mysql-common, caso contrário, seu sistema ficará muito danificado.

6
user4358

Você pode querer dar uma chance a aptitude, que tem um melhor tratamento de dependências:

Sudo aptitude remove mysql-server-5.0
1
innaM

Experimentar

Sudo dpkg -i reconfigure mysql-server-5.0
Sudo apt-get remove --force mysql-server-5.0

Se for outro pacote que está quebrado, tente apt-get remove --force esse pacote também.

0
John Oxley

Eu tive esse problema com o carteiro. /Etc/init.d/mailman excluído com

rm /etc/init.d/mailman

consertou :)

0
Stéphan Champagne

O erro dpkg que você tem sugere que o problema ocorre quando dpkg está tentando realmente remover o pacote. (No fim do dia, apt-get e Synaptic e similares passam o trabalho real para dpkg.)

Você tentou fazer exatamente o que a mensagem diz e re - instalando primeiro?

apt-get install --reinstall mysql-server-5.0

Por mais bobo que possa parecer, se dpkg estiver sufocando durante o processo de remoção (porque algum arquivo que deveria ser removido desapareceu nesse ínterim), reinstale e então remover às vezes pode ajudar. Certifique-se de que mysql não esteja em execução antes de tentar instalá-lo ou removê-lo, como sugere nagul .

0
Telemachus

dpkg -r --force-remove-reinstreq <package> remove um pacote sem verificar se ele requer reinstalação.

Depois disso, você deve ser capaz de reinstalar o pacote com o gerenciador de pacotes de sua preferência.

0
Jaime Soriano