Resolvendo “Erro no apt-get update”

Uma grande amiga e excelente profissional de TI, Caroline Souza tem escrito alguns artigos em seu site sobre Linux e casos de uso no dia a dia, ela permitiu que sempre que um artigo seu fosse ao encontro dos objetivos do nosso Portal ele fosse reproduzido aqui.

Segue o artigo:

Essa é mais uma daquelas histórias em que a simples manutenção vira um problemão.

Fui efetuar a configuração de um serviço num firewall (Debian “lenny”) que não mexia a muitos meses e ao executar um apt-get update recebi algumas mensagens de erro:

Reading Package Lists… Error!
E: Problem with MergeList /var/lib/apt/lists/ftp.pt.debian.org_debian_dists_stable_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.”

Depois de muito bater cabeça consegui uma solução seguindo os seguintes passos:

# fuser -vvv /var/lib/dpkg/lock
# sudo rm /var/lib/apt/lists/lock
# cp -arf /var/lib/dpkg /var/lib/dpkg.backup
# cp /var/lib/dpkg/status-old /var/lib/dpkg/status
# cp /var/lib/dpkg/available-old /var/lib/dpkg/available
# rm -rf /var/lib/dpkg/updates/*
# rm -rf /var/lib/apt/lists
# rm /var/cache/apt/*.bin
# mkdir /var/lib/apt/lists
# mkdir /var/lib/apt/lists/partial
# LANG=C;sudo apt-get clean
# LANG=C;sudo apt-get autoclean
# LANG=C;sudo apt-get update

E finalmente problema resolvido e pude prosseguir com meu trabalho! :-)
Mas como sempre aprendemos com os erros, vou listar outros erros e soluções para o apt-get.

Erro:
W: You may want to run apt-get update to correct these missing files
E: Couldn’t find package penguineyes

Solução:
Rodar o apt-get update depois da sua última alteração no arquivo /etc/apt/sources.list

Erro:
E: Could not open lock file /var/lib/dpkg/lock – open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Solução:
Você não tem permissão root, ou seja, está acessando como usuário normal.

Erro:
E: Dynamic MMap ran out of room
Solução:
Adicione a linha seguinte ao /etc/apt/apt.conf:
APT::Cache-Limit 10000000;

Fonte:
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
http://www.debian.org/doc/manuals/apt-howto/ch-erros.pt-br.html

Abraços. :-D