Incapaz de corrigir problemas, você realizou pacotes quebrados

180

Após a atualização 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.
    
por trond 29.11.2012 / 00:48

7 respostas

198

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

Você pode obter uma lista de pacotes em real :

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>

O aptidão desistirá menos facilmente e tentará encontrar soluções que possam 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 um grande número de pacotes para atender a sua solicitação. Nesse caso, tentar novamente com -f altera suas prioridades e ajuda a criar soluções que envolvam a remoção / redução de menos pacotes, mesmo que significa que nem todas as alterações solicitadas podem ser feitas:

sudo aptitude -f install <packagename>
    
por thomasrutter 29.11.2012 / 02:58
25

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

    
por user2292711 27.08.2013 / 04:43
7

Eu encontrei um cenário semelhante em relação às dependências ausentes. No meu caso eu estava tentando instalar o curl no ubuntu salamandra saquinho 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 de como responder ... y / / n / q

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

Selecionei N e ele 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 procurar atualizar o arquivo da biblioteca novamente após a instalação, mas, até agora, tudo bem.
por Peopleunit 02.03.2014 / 07:53
7

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

O que fez consertar para mim foi simples

sudo apt-get autoremove

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

    
por yochannah 27.07.2015 / 15:41
4

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

tomcat7                                         deinstall
tomcat7-common                                  install

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

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

    
por Nollaig 03.10.2013 / 13:03
0

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 .

    
por nathangeorge1 25.05.2018 / 16:01
0

Estas são algumas maneiras rápidas e fáceis de corrigir o erro you have held broken packages .

  • Abra seu arquivo sources.list em /etc/apt/sources.list e verifique se não há fontes de software para uma versão diferente do Ubuntu que a versão do Ubuntu que você está usando atualmente. Se você encontrar linhas de lançamento incorretas em sources.list, abra o arquivo sources.list com sudoedit /etc/apt/sources.list , comente as linhas incorretas em sources.list precedendo-as com um caractere # , salve o arquivo sources.list e execute sudo apt update para atualizar a lista de pacotes de software disponíveis.

  • Selecione a opção Corrigir pacotes quebrados no gerenciador de pacotes Synaptic. Execute o seguinte comando para instalar o Synaptic.

    sudo apt install synaptic  
    

    Abra o Synaptic e, no Synaptic, selecione Editar - > Corrigir pacotes quebrados e depois repetir Editar - > Corrigir pacotes quebrados uma segunda vez.

  • Se você receber esta mensagem de erro:

    Try 'apt-get -f install' with no packages (or specify a solution)  
    

    Execute o seguinte comando:

    sudo apt-get -f install  
    
por karel 08.10.2018 / 13:13