Se você estiver instalando um pacote / programa específico e encontrar um problema de dependência, haverá duas causas:
- Suas dependências já foram quebradas.
- Não é possível instalar o pacote que você deseja devido à sua configuração atual.
O primeiro caso é fácil de descobrir. Apenas execute sudo apt-get check
. Isso informará qualquer problema com os pacotes já instalados e você saberá como resolvê-los.
sudo apt-get check
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:
libpurple-dev : Depends: libpurple0 (>= 2.10.9) but it is not installed
Depends: libpurple0 (< 2.10.9+1~) but it is not installed
pidgin : Depends: libpurple0 (>= 2.8.0) but it is not installed
pidgin-whatsapp : Depends: libpurple0 (>= 2.8.0) but it is not installed
E: Unmet dependencies. Try using -f.
Normalmente, se você não instalou nenhum pacote manualmente com dpkg
, faltam espelhos, PPA's quebrados ou uma mistura de repositórios de versões diferentes (como Debian e Ubuntu ou Precise e Saucy), isso pode ser corrigido com um simples% código%. Se isso não resolver o problema, talvez seja necessário pedir ajuda para adicionar todos os resultados das operações que você tentou, além da saída de sudo apt-get -f install
para todos os pacotes relevantes:
apt-cache policy pidgin-whatsapp pidgin libpurple-dev libpurple0
Agora, se isso resultar limpo e o problema de dependência só acontecer quando você tentar instalar um pacote, talvez seja necessário saber por que o apt está se recusando a instalar o pacote. Isso é cansativo de fazer e seria um obstáculo se você quiser resolver seu problema rapidamente, e cada problema tem sua própria solução. É recomendado nesses casos usando apt-cache policy
. Primeiro nós instalamos:
sudo apt-get install aptitude
Agora você perguntará ao aptitude por que não pode instalar o pacote usando:
aptitude why-not package
Ele mostrará uma boa lista dizendo por que o pacote não pode ser instalado. Pode ser um pacote ausente, que depende de um pacote que não está disponível ou de algum outro pacote que tenha conflitos / quebras. Exemplo:
aptitude why-not lsb-core:amd64
i lsb-security Recommends lsb-core (>= 4.1+Debian12)
i A lsb-core Conflicts lsb-core:amd64
Neste caso, instalei o pacote lsb-security, que instalou a versão de 32 bits do lsb-core, e não permiti que eu instale a versão de 64 bits.