O APT é um sistema de gerenciamento de pacotes para o Debian e outras distribuições Linux baseadas nele, como o Ubuntu. Na maior parte, o APT é fácil de usar para instalar, remover e atualizar pacotes. Em casos raros, muitas vezes, quando você está misturando dependências de terceiros, há uma chance de que apt-get
possa acabar dando a você um erro informando que uma instalação de pacote não pôde ser concluída.
Soluções:
É sempre uma boa ideia fazer backup dos arquivos de configuração, como /etc/apt/sources.list
, para que você possa reverter as alterações, se necessário.
-
Se o
error
mostrar algo assim:<some-package>: Depends: <other-package> (= version) but this-version is to be installed
Em seguida, verifique se os repositórios
restricted
euniverse
estão ativados. Pressione Alt + F2 , digitesoftware-properties-gtk
e pressione Enter .Na guia
Ubuntu Software
, ative todos os repositórios. -
Uma possível causa de dependências não atendidas pode estar corrompida no banco de dados de pacotes e / ou alguns pacotes não foram instalados corretamente. Para corrigir este problema, pressione Alt + Ctrl + T para abrir o terminal e tente executar um dos seguintes comandos:
sudo apt-get clean
ou
sudo apt-get autoclean
apt-get clean
limpa o repositório local de arquivos de pacotes recuperados (os arquivos .deb). Ele remove tudo, exceto o arquivo de bloqueio de / var / cache / apt / archives / e / var / cache / apt / archives / partial /.apt-get autoclean
limpa o repositório local de arquivos de pacotes recuperados, mas ao contrário deapt-get clean
, ele apenas remove arquivos de pacotes que não podem mais ser baixados e são inúteis em grande parte. -
Uma das correções mais básicas para resolver problemas de dependências é executar:
sudo apt-get -f install
O
-f
aqui significa "consertar quebrado".Apt
tentará corrigir dependências quebradas. Se você instalou manualmente um pacote que tinha dependências não atendidas,apt-get
instalará essas dependências, se possível, caso contrário, pode simplesmente remover o pacote que você instalou para resolver o problema.Em seguida, execute:
sudo dpkg --configure -a
Em seguida, execute novamente:
sudo apt-get -f install
Se a saída for:
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Isso significa que falhou.
-
A próxima solução é executar:
sudo apt-get -u dist-upgrade
Se mostrar algum pacote retido, é melhor eliminá-los. Pacotes são mantidos devido a conflitos de dependência que
apt
não pode resolver. Tente este comando para encontrar e reparar os conflitos:sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
Se não puder corrigir os conflitos, sairá com:
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
Exclua os pacotes retidos um por um, executando
dist-upgrade
a cada vez, até que não haja mais pacotes retidos. Em seguida, reinstale os pacotes necessários. Certifique-se de usar a opção--dry-run
, para que você esteja totalmente informado das consequências:sudo apt-get remove --dry-run package-name
Como remover o pacote que você está tentando instalar pode não ser o ideal, você também pode tentar encontrar um repositório que tenha os pacotes necessários para satisfazer as dependências.
Finalmente, se tudo mais falhar, você pode tentar satisfazer as dependências, localizando e instalando os pacotes necessários, ou instalando-os a partir da origem e, em seguida, criando “ deb " pacotes para eles.
Desativar / remover / eliminar os PPAs:
PPAs (Personal Package Archive) são repositórios hospedados no Launchpad . Você pode usar os PPAs para instalar ou atualizar pacotes que não estão disponíveis nos repositórios oficiais do Ubuntu.
Uma das causas mais comuns de dependências não atendidas são os PPAs, especialmente quando usados para atualizar o pacote existente nos repositórios do Ubuntu. Para resolver o problema, você tem três opções: desativar, limpar (reverter para o pacote original nos repositórios do Ubuntu) ou remover o PPA.
-
Desativar:
Desativar um PPA significa que não há mais atualizações para os pacotes instalados a partir desse PPA. Para desabilitar um PPA: Abra
Software Center > Edit > Software Sources
Or,Pressione Alt + F2 e execute
software-properties-gtk
.Clique na guia
Other Software
, você verá que cada PPA tem duas linhas aqui, uma para os pacotes compilados e outra para a fonte,Uncheck
de ambas as linhas para desabilitar um PPA. Aqui você também pode adicionar e remover PPAs. -
Eliminação:
Purgar um PPA significa fazer um downgrade dos pacotes no PPA selecionado para a versão nos repositórios oficiais do Ubuntu e desabilitar esse PPA. PPA Purge faz exatamente isso. Para instalar o PPA Purge, execute o seguinte comando:
sudo apt-get install ppa-purge
Mas, considerando que a questão apt
está quebrada, o comando acima falhará. Então use este comando
mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb
Para usar o PPA Purge:
sudo ppa-purge ppa:someppa/ppa
Se o comando 'ppa-purge' falhar por algum motivo, não será possível executar o 'ppa-purge' novamente, a menos que você reative o PPA (Para ativar o PPA, siga as mesmas etapas que desabilitar um PPA e Check
as duas linhas de um determinado PPA para habilitá-lo).
Observação: PPA Purge
não remove os PPAs ( podem estar no futuro ), você terá que remover manualmente o PPA.
-
Remover:
Se o pacote instalado a partir de um PPA não existir nos repositórios oficiais do Ubuntu, então usar
PPA Purge
não é recomendado, porque não há nada para ser rebaixado ePPA Purge
também não o deletaria. Para remover um PPA e pacotes instalados, execute os seguintes comandos: (Ignore o primeiro comando se não quiser remover os pacotes instalados)sudo apt-get autoremove --purge package-name sudo add-apt-repository --remove ppa:someppa/ppa sudo apt-get autoclean
Como alternativa, você pode usar Y PPA Manager
para desabilitar / remover / limpar os PPA's (Detalhes no final da resposta).
Medidas Preventivas:
Então, como podemos evitar que isso aconteça em primeiro lugar?
-
Mantenha o Ubuntu atualizado. O Ubuntu notifica automaticamente quando as atualizações estão disponíveis, você também pode verificar as atualizações disponíveis clicando em
Session Indicator
no painel do Unity:Ou, Pressione Alt + Ctrl + T para abrir o terminal e executar os seguintes comandos:
sudo apt-get update sudo apt-get upgrade
Atualizar: Sincroniza sua lista de pacotes disponíveis com os servidores nos repositórios de origem. Upgrade: Downloads e amp; instala qualquer versão mais recente dos seus pacotes instalados.
- Se você decidir adicionar outros repositórios ao sources.list, certifique-se de que o repositório funcione (e saiba que funciona) com o Ubuntu. Repositórios que não são projetados para funcionar com sua versão do Ubuntu podem introduzir inconsistências em seu sistema e podem forçá-lo a reinstalar. Além disso, certifique-se de que você realmente precisa adicionar repositórios externos, pois os pacotes de software que você está procurando já podem ter sido introduzidos nos repositórios oficiais! Source
-
Remova os PPAs duplicados.
Y PPA Manager
(guia de instalação no final da resposta) pode verificar e remover facilmente os PPAs duplicados.- Pressione Alt + F2 e execute
y-ppa-manager
para abrir o Y PPA Manager. - Uma vez aberto, clique duas vezes ou pressione Enter em
Advanced
. - Na janela resultante, selecione
Scan and remove duplicate PPAs
e clique em OK.
- Pressione Alt + F2 e execute
Obtenção de ajuda:
Quando pedir ajuda no Askubuntu ou em qualquer outro fórum de ajuda, você deve incluir a saída dos seguintes comandos em sua pergunta:
-
Saída do erro real:
sudo apt-get install package-name
-
Isso mostrará seu sources.list:
cat /etc/apt/sources.list
-
Isso mostrará a lista de PPAs (se houver):
cat /etc/apt/sources.list.d/*
Fontes adicionais:
- 'apt' Ubuntu Manpage
- 'apt-get' Ubuntu Manpage
- Documentação do Ubuntu 'apt-get / how-to' da Comunidade
- Documentação do Ubuntu 'Repositories / Ubuntu' Community
- Documentação do Ubuntu 'Repositories / CommandLine' Community
Gerente do Y PPA : Y PPA Manager é um balcão único para todas as suas necessidades de PPA.
Aqui estão algumas das suas características:
- pacotes de pesquisa em todos os PPAs do Launchpad
- lista e download de pacotes em um PPA
- adicionar / remover / limpar um PPA
- backup e restauração de origens PPA
- remova fontes PPA duplicadas
Para instalar o Y PPA Manager
, abra o terminal pressionando Alt + Ctrl + T e execute os seguintes comandos:
sudo add-apt-repository ppa:webupd8team/y-ppa-manager sudo apt-get update sudo apt-get install y-ppa-manager
Considerando a pergunta, apt
está corrompido, então use esses comandos
sudo su
e
32 bits:
mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb
64 bits:
mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb