Qual é o procedimento passo a passo para corrigir “Os seguintes pacotes têm dependências não atendidas”?

Qual é o procedimento passo a passo para corrigir “Os seguintes pacotes têm dependências não atendidas”?

Tentei de tudo, mas não fiz nenhum progresso. Uma alma inteligente pode ajudar?

Claro que simplesmente sudo apt-get -f installnão funciona, mesmo erro.

$ sudo apt-get install arping
[sudo] password for dloo:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 arping : Depends: libnet1 (>= 1.1.2.1) but it is not going to be installed
          Depends: libpcap0.8 (>= 0.9.8) but it is not going to be installed
 libc-dev-bin : Depends: libc6 (< 2.16) but 2.17-0ubuntu4 is to be installed
 libc6-dev : Depends: libc6 (= 2.15-0ubuntu10.5) but 2.17-0ubuntu4 is to be installed
 libnih1 : PreDepends: libc6 (< 2.16) but 2.17-0ubuntu4 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

$ uname -a
Linux li366-234 2.6.39.1-x86_64-linode19 #1 SMP Tue Jun 21 10:04:20 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/issue
Ubuntu 11.04 \n \l

Responder1

Não tenho ideia se ainda é relevante para você obter ajuda sobre isso, mas aqui está um resumo das coisas que alguém poderia fazer para ajudar em tal situação (deaqui em Appuals (appuals.com)) :

Método 1: Utilize o -fparâmetro (sei que você já fez isso, mas reúno tudo aqui junto)

sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get install -f 

Método 2: use aptidão

sudo aptitude install PACKAGENAME

ondePACKAGENAMEé o pacote que você está instalando e pressione Enterpara executá-lo. Isso tentará instalar o pacote via aptitude em vez de apt-get, o que deve potencialmente corrigir o problema de dependências não atendidas.

Método 3: certifique-se de que os repositórios restrito e universal estejam habilitados e tente um servidor melhor

software-properties-gtk
  • Na aba Ubuntu Software, certifique-se de que todos os repositórios (principal, universo, restrito, multiverso) estão habilitados.
  • Clique na lista de servidores onde diz “Baixar de” e escolha
  • Clique em “Selecionar melhor servidor”.
  • Pressione Alte Ctrlsimultaneamente Tpara abrir um Terminal e digite

    sudo apt-get update
    

    então pressione Quando terminar de executar, tente instalar o software novamente.

Método 4: limpe o banco de dados do pacote

sudo apt-get clean
sudo apt-get autoclean

Método 5: Elimine quaisquer pacotes retidos

sudo apt-get -u dist-upgrade

então (se pb):

sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

e veja se isso resolve o problema. Se sair com X not upgradedno final, ondeXé o número de pacotes retidos, você precisará excluí-los um por um.

Para remover um pacote retido,

sudo apt-get remove --dry-run PACKAGENAME

(PACKAGENAMEé o pacote que você está tentando remover). O --dry-runparâmetro garante que você seja informado sobre o que acontecerá a seguir. Depois de remover todos os pacotes, tente instalar aquele que causou o problema e veja o que acontece.

Método 6: limpar/remover/desativar PPAs

Arquivos de pacotes pessoais são repositórios hospedados no Launchpad e são usados ​​para atualizar ou instalar pacotes que normalmente não estão disponíveis nos repositórios oficiais do Ubuntu. Eles são mais comumente a causa de dependências não atendidas, especialmente quando são usados ​​para atualizar um pacote existente do repositório Ubuntu. Você pode desativá-los, removê-los ou eliminá-los.

Então, se eles ainda mostrarem alguns problemas de dependência, vamos eliminá-los:

apt purge packageXX packageYY packageZZ

etc. até que tudo esteja limpo

Alguns dizem também para editar /var/lib/dpkg/statuse remover blocos que não tenham instalação completa mas duvido que isso realmente resolva os problemas, é só esconder debaixo do tapete.

Responder2

  1. Você tentou o seguinte?

    apt-get check
    
  2. Experimente primeiro:

    sudo dpkg --configure -a
    

Seguido pela:

sudo apt-get -f install

Responder3

De acordo com as informações no wiki do Ubuntu (https://wiki.ubuntu.com/Releases), Ubuntu 11.04 (Natty Narwhal) atingiu o fim de sua vida útil em 28 de outubro de 2012. Seu erro específico implica que a versão disponível do arping depende de versões mais atualizadas de bibliotecas que provavelmente não estão disponíveis em Natty Narwhal ou Natty Narwhal pode simplesmente se recusar a construir essas bibliotecas porque elas introduzirão incompatibilidades com o resto da sua plataforma não suportada.

Suas duas opções são ver se você consegue encontrar as fontes para as bibliotecas que o arping precisa (tendo em mente satisfazer os requisitos de versão do arping) e ver se consegue ter algum sucesso ao construí-las manualmente (por exemplo, todo o ./configure && make && sudo make install rotina). Mas não posso garantir que isso funcionará e, novamente, seu sistema operacional não é compatível. Alternativamente, faça backup de todos os dados desejados, baixe uma cópia do Ubuntu 17.10.1 (ou 16.04.3 se você preferir ficar com o LTS) e faça um USB inicializável e instale uma versão atualizada e atualmente suportada do Ubuntu.

Responder4

A solução é simples se você ler o erro.

Suponha que o pacote que você está tentando instalar sejapacoteA.

Tentando instalarpacoteAlevará você a algo assim:

packageA: Depends: packageX (>= a.b) but it is not going to be installed

Você precisa correr sudo apt-get install packageX.

Provavelmente você terá outro erro que diz:

packageX: Depends: packageY (>= a.b) but it is not going to be installed

Execute sudo apt-get install packageYpara instalá-lo.

Continue assim (IMO, a maioria dos pacotes tem uma árvore de 3 a 4 nós de profundidade), até instalar a última dependência da série.

Depois disso, seu primeiro comando para instalarpacoteAserá executado com sucesso.

informação relacionada