Você deve poder trabalhar com um arquivo de status válido conhecido anteriormente e atualizá-lo a partir dele. Toda vez que você faz uma instalação ou uma atualização, o arquivo de status é salvo em um backup gzipado em / var / backups . Fazendo um ls-l dpkg * no diretório mostra:
-rw-r--r-- 1 root root 2266732 2010-09-30 08:35 dpkg.status.0
-rw-r--r-- 1 root root 624182 2010-09-29 08:49 dpkg.status.1.gz
-rw-r--r-- 1 root root 623844 2010-09-28 08:55 dpkg.status.2.gz
-rw-r--r-- 1 root root 620358 2010-09-24 11:04 dpkg.status.3.gz
-rw-r--r-- 1 root root 619021 2010-09-23 15:34 dpkg.status.4.gz
-rw-r--r-- 1 root root 619013 2010-09-23 08:03 dpkg.status.5.gz
-rw-r--r-- 1 root root 618968 2010-09-21 08:33 dpkg.status.6.gz
Há também um backup do arquivo criado no diretório / var / lib / dpkg / chamado status-old. Fazendo um ls -l status * no diretório mostra:
-rw-r--r-- 1 root root 2266732 2010-09-30 08:35 status
-rw-r--r-- 1 root root 2267191 2010-09-30 08:35 status-old
Então, para se recuperar de uma corrupção, você deve ser capaz de fazer o seguinte:
1. Faça um backup do arquivo de status corrompido :
mv /var/lib/dpkg/status /var/lib/dpkg/status_bkup
2. Copie um arquivo de status dpkg recente de qualquer uma das fontes acima:
ou
cp /var/lib/dpkg/status-old /var/lib/dpkg/status
ou
cp /var/backups/dpkg.status.#.gz /var/lib/dpkg/
gunzip -d /var/lib/dpkg/dpkg.status.#.gz
mv /var/lib/dpkg/dpkg.status.# /var/lib/dpkg/status
3. Em seguida, execute o apt-get update:
sudo apt-get update
Isso deve ser feito.