48 votes

"La liste des paquets ou le fichier d'état n'a pas pu être analysé ou ouvert"

Chaque fois que je sudo apt-get update il n'est jamais complet et le dira à la fin

E: Read error - read (5: Input/output error)
E: The package lists or status file could not be parsed or opened.

Il en va de même lorsque j'essaie d'installer quelque chose et que je fais sudo apt-get install <some app>

Que dois-je faire ? Je reconnais que mon disque a des secteurs défectueux, est-ce que cela peut être la raison ? Y a-t-il autre chose que je puisse faire ?

48voto

Curt Points 325

Il s'agit d'une vieille question, mais juste pour l'archivage... Ce qui suit est ce qui a résolu ce problème dans mon cas :

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get clean
sudo apt-get update

41voto

Avinash Raj Points 72686

Essayez d'utiliser un fichier d'état plus ancien,

sudo mv /var/lib/dpkg/status /var/lib/dpkg/status.bad
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
sudo apt-get update

8voto

Shane O'Grady Points 111

Je rencontrais une erreur similaire :

Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.

J'ai suivi des suggestions similaires pour copier status-old .

$ head /var/lib/dpkg/status
$ head /var/lib/dpkg/status-old

Tous mes fichiers d'état étaient vierges pour une raison quelconque. Heureusement, j'ai découvert qu'il existait des sauvegardes de ces fichiers :

$ ls -l /var/backups/dpkg.status.*
-rw-r--r-- 1 root root 444620 Nov 15 06:33 /var/backups/dpkg.status.0
-rw-r--r-- 1 root root 444620 Nov 15 06:33 /var/backups/dpkg.status.1.gz
-rw-r--r-- 1 root root 128168 Sep 20  2013 /var/backups/dpkg.status.2.gz
-rw-r--r-- 1 root root 112545 Sep 16  2013 /var/backups/dpkg.status.3.gz
-rw-r--r-- 1 root root 107767 Sep 14  2013 /var/backups/dpkg.status.4.gz
-rw-r--r-- 1 root root 107766 Sep 11  2013 /var/backups/dpkg.status.5.gz
-rw-r--r-- 1 root root  94583 Sep 11  2013 /var/backups/dpkg.status.6.gz

J'ai vérifié la dernière sauvegarde...

$ head /var/backups/dpkg.status.0

...mais il n'y avait toujours rien. J'en ai donc décompressé une plus ancienne...

$ gunzip /var/backups/dpkg.status.1.gz
$ head /var/backups/dpkg.status.1

Cette fois-ci, il y avait du contenu. Je l'ai donc copié...

$ cp /var/backups/dpkg.status.1 /var/lib/dpkg/status

Dans ce cas apt-get update a fonctionné sans problème.

Le mérite en revient à cet article.

0voto

David Fraser Points 1437

J'ai eu une erreur similaire, mais le problème ne se situait pas au niveau des dpkg.status mais dans une liste d'appartements.

Pour vérifier la cause probable, exécutez strace -efile apt install something . Recherchez ensuite les derniers fichiers auxquels vous avez accédé avant que le message d'erreur ne s'affiche :

stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS.uncompressed", 0x7fffd2f39d00) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_xenial_main_i18n_Translation-en%5fUS", 0x7fffd2f39e50) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f39d10) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_InRelease", 0x7fffd2f396d0) = -1 ENOENT (No such file or directory)
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=57344, ...}) = 0
open("/tmp/fileutl.message.XlglFW", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
unlink("/tmp/fileutl.message.XlglFW")   = 0
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 6
open("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", O_RDONLY) = 5
stat("/var/lib/apt/lists/www.fossology.org_releases_2.6.2_Ubuntu_dists_14.04_Release", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
Reading package lists... Done
E: The package lists or status file could not be parsed or opened.
+++ exited with 100 +++

Dans mon cas, le dernier fichier (un Release de fossologie) s'est avéré être long de 0 octet. La suppression de ce dépôt a permis à apt de retrouver un fonctionnement normal

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X