Vous devriez pouvoir travailler avec un fichier de bon état connu et le mettre à jour à partir de là. Chaque fois que vous effectuez une installation ou une mise à jour, le fichier d'état est enregistré dans une sauvegarde gzippée sous / var / backups . Faire un ls -l dpkg * dans le répertoire indique:
-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
Il existe également une sauvegarde du fichier créé dans le répertoire / var / lib / dpkg / nommé status-old. Faire un état ls -l * dans le répertoire indique:
-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
Donc, pour récupérer d’une corruption, vous devriez pouvoir faire ce qui suit:
1. Effectuez une sauvegarde du fichier d'état endommagé :
mv /var/lib/dpkg/status /var/lib/dpkg/status_bkup
2. Copiez un fichier d'état récent de dpkg à partir de l'une des sources ci-dessus:
soit
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. Ensuite, lancez apt-get update:
sudo apt-get update
Cela devrait le faire.