Solucionando problemas com o APT

Quem nunca se deparou com um problema de apt-get que travava o aplicativo fazendo-o ficar totalmente sem reação? Este artigo mostra como solucionar diversas falhas do apt-get. (lembrando que dependendo da distro alguns comandos devem ser rodados usando o sudo)

 

Problema 1: Os pacotes possuem arquivos que serão sobrescritos. – Os pacotes possuem dependências mal-resolvidas – Há conflitos entre pacotes – Um pacote não pode ser removido ou atualizado pelo dpkg

Solução: Rodar os comandos:

#echo "force-all" > /etc/dpkg/dpkg.cfg 
# apt-get -f install

A partir disso ficará fácil instalar pacotes usando o apt-get/aptitude sendo que este comando resolve 99% dos problemas que estas aplicações apresentam, por isso recomendo mesmo que você ainda não tenha tido o problema!
Não há nenhum perigo em usar o force-all no dpkg, mesmo porque o apt-get resolve as dependências…. Uso esta opção desde que migrei para o Debian e sempre me salva durante os necessários apt-get upgrade.

Problema 2: Um pacote é instalado corrompido – Tento instalar denovo e o apt-get diz que já esta instalado!

Rode o comando:

# apt-get remove seu_pacote_corrompido; apt-get update ; apt-get clean
# apt-get --reinstall install nome_do_pacote 

Problema 3: O apt-get reclama que meu repositório não tem a chave GPG(NO_PUBKEY)…

Para resolver isso é muito simples, primeiro rode o apt-get update…

Copie o código que aparece no erro em negrito no log abaixo:

W: GPG error: ftp://ftp.debian.org/ testing Release:
The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 010908312D230C5F

W: There is no public key available for the following key IDs:
010908312D230C5F

Então rode os comandos com o key ID encontrado:

# gpg --keyserver pgpkeys.mit.edu --recv-key 010908312D230C5F
# gpg -a --export 010908312D230C5F | sudo apt-key add -

Problema 4: Mensagem “sub-processo post-installation script retornou estado de saída de erro (número qualquer)”l
Erros foram encontrados durante o processamento de: nome_do_pacote)

Para solucionar determine o nome do pacote que causou o erro, por exemplo no log abaixo, mostro em negrito o nome do pacote que causou o problema no meu caso(em negrito, xosview):

newaliases: warning: valid_hostname: numeric hostname: 69522
newaliases: fatal: bad parameter value: 69522
dpkg: error processing xosview (–configure):
subprocess post-installation script returned error exit status 75 sub-processo post-installation script retornou estado de saída de erro 75
Errors were encountered while processing:
Erros foram encontrados durante o processamento de:
xosview

Tendo determinado o nome do pacote, rode então os comandos abaixo trocando a palavra xosview pelo nome do pacote que causou o problema:

# rm -f /var/lib/dpkg/info/xosview.post*
# rm -f /var/lib/dpkg/info/xosview.pre*
# apt-get -f install 

Problema 5: Erro durante a remoção de pacote..

TROQUE abaixo a palavra pacote_defeituoso pelo nome do pacote que não quer ser removido e então rode estes comandos:

# rm -f /var/lib/dpkg/info/pacote_defeituoso.post*
# rm -f /var/lib/dpkg/info/pacote_defeituoso.pre*
# apt-get remove escreva_aqui_o_nome_do_pacote_defeituoso

Problema 6: Erro no /var/lib/dpkg/status…

Muitas vezes o apt-get da erros de leitura no arquivo /var/lib/dpkg/status, para resolver basta executar:

# cp /var/lib/dpkg/status-old /var/lib/dpkg/status 

Se isto não resolver, leia Problema 7.

Problema 7: Problema 6 persiste ou Problema com apt-get que tem com muitos repositórios (erro de out of room também)

O erro se parece com o mostrado abaixo:
E: Dynamic MMap ran out of room

Edite o arquivo /etc/apt/apt.conf, aumentando o cache limit…

Apt::Cache-Limit “8388604″;

Problema 8: Durante o download alguns arquivos não são encontrados para download:

Para este caso a solução é rodar o comando apt-get update, como mostrado abaixo:

# apt-get update 

Re-execute a instalação do pacote problemático, caso isso não resolva você tera de trocar seu /etc/apt/sources.list.

Fonte