Questão Incapaz de corrigir problemas, você realizou pacotes quebrados


Depois de atualizar de 10.04 para 12.04, estou tentando instalar pacotes diferentes. Por exemplo ia32-libs e skype (4.0).

Ao tentar instalá-los, recebo a mensagem de erro "Não foi possível corrigir problemas, você segurou pacotes quebrados".

Saída de comandos:

sudo 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.

Depois de executar isso:

sudo dpkg --configure -a
foo@foo:~$ sudo 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.

178
2017-11-28 23:48


origem


Pode ajudar se você nos mostrou o comando que você está realmente tentando (como sudo apt-get install ia32-libs) e a saída desse comando. Além disso, faz sudo apt-get dist-upgrade mostrar as atualizações disponíveis? - thomasrutter
Não sei o que há de errado com sua pergunta, não vejo nenhum erro real, nem aquele que você descreveu em seu título. - Braiam
possível duplicata de Como resolvo dependências não atendidas? - Eliah Kagan
Relacionado: E: Incapaz de corrigir problemas, você realizou pacotes quebrados - Melebius


Respostas:


Essa mensagem de erro em particular pode indicar que você segurou pacotes, mas também pode indicar um problema diferente.

Você pode obter uma lista de real pacotes realizados com:

dpkg --get-selections | grep hold

Se não houver nenhum, ou nenhum parecer relacionado, então provavelmente é outra coisa. Verifique cuidadosamente a saída do comando que você estava tentando quando recebeu a mensagem de erro, pois pode haver outras pistas na saída completa desse comando, além da mensagem de erro.

Outro método de resolução de problemas pode ser usar o aptitude em vez do apt-get para tentar instalar o seu pacote:

sudo aptitude install <packagename>

Aptidão vai desistir menos facilmente, e tentará encontrar soluções que podem envolver a modificação de outros pacotes. Pode dar-lhe mais explicações sobre o problema e opções para corrigi-lo.

Ocasionalmente, o aptitude estará muito ansioso para remover ou reduzir o tamanho de um grande número de pacotes para satisfazer sua solicitação. Nesse caso, tentar novamente -f muda suas prioridades e ajuda a encontrar soluções que envolvam a remoção / rebaixamento de menos pacotes, mesmo que isso signifique que nem todas as alterações solicitadas possam ser feitas:

sudo aptitude -f install <packagename>

198
2017-11-29 01:58



Alguma idéia de como liberar um pacote? :-) - Eugene van der Merwe
Aquilo é um pergunta separada. - thomasrutter
Aptidão foi mais útil para mim do que o apt-get, obrigado pela dica. - szx
Uma coisa a notar é que o aptitude pode tornar mais fácil causar mais danos ao seu sistema. Por exemplo, se o apt-get falhar em instalar algo por causa de dependências conflitantes, ele desistirá. No entanto, o aptitude pode se oferecer para prosseguir, mas desinstalar um monte de outros pacotes para satisfazer esses conflitos - ou até mesmo fazer o downgrade de pacotes. Você simplesmente tem que estar ciente do que está sugerindo e prosseguir apenas se for uma boa ideia. - thomasrutter
Os pacotes "em espera" não têm nada a ver com a mensagem, apenas que o conflito foi evitado mantendo-os inativos (não instalando, atualizando, desatualizando ou removendo). - Braiam


Isso aconteceu comigo também. Tudo que fiz foi sudo apt-get update e isso resolveu meu problema. Boa sorte.


24
2017-08-27 02:43





Eu me deparei com um cenário semelhante sobre as dependências ausentes. No meu caso eu estava tentando instalar o curl no ubuntu saucy salamander 13.10 ...

O erro afirmou que a dependência exigia uma versão anterior da biblioteca curl3.

Consegui degradar a versão anterior tentando instalar o curl usando o aptitude.

Quando notou a dependência ausente, e a razão (requer uma versão anterior do arquivo de biblioteca), ela me deu várias opções em como responder ... y //n/q

Y teria abortado a instalação, N procuraria outra opção e Q simplesmente desistiria e não faria mais nada, deixando um pacote quebrado.

Eu selecionei Ne me deu a opção de fazer o downgrade do arquivo da biblioteca para uma versão anterior. Então foi o que eu fiz, e enrolar terminou de instalar sem mais erros.

  • Eu posso olhar para atualizar o arquivo da biblioteca novamente após a instalação, mas hey, até aí tudo bem.

7
2018-03-02 06:53





Eu tive um cenário semelhante em uma nova instalação do 14.04, sem arquivos listados em dpkg --get-selections | grep holde sem alegria depois sudo apt-get update.

o que fez consertar isso para mim foi um simples

sudo apt-get autoremove

Quando tentei reinstalar o pacote com defeito, funcionou bem. Yay!


7
2017-07-27 13:41





Tive o mesmo problema, eu corri o comando de verificação do pacote da outra resposta (dpkg --get-selections | grep hold)  e viu

tomcat7                                         deinstall
tomcat7-common                                  install

então eu usei "apt-get remove tomcat7-common"

Então eu poderia instalar o Tomcat 6 (eu estava removendo o Tomcat 7 e instalando o Tomcat 6 como você faz).


4
2017-10-03 11:03



Os pacotes "em espera" não têm nada a ver com a mensagem, apenas que o conflito foi evitado mantendo-os inativos (não instalando, atualizando, desatualizando ou removendo) - Braiam
adicione a limpeza da flag: apt-get remove --purge packet - Sergio Abreu


Para mim, nenhum dos itens acima funcionou porque o meu sistema não foi atualizado. eu fiz

Home Key > Software Updater > Install 

e atualizei meu sistema; depois, eu poderia instalar meu pacote normalmente com apt.


0
2018-05-25 14:01