当前位置: 首页>>技术教程>>正文


“无法解析或打开包列表或状态文件”

,

问题描述

每次我sudo apt-get update它总是不完整,最后会说

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

同样,当我尝试安装某些东西并做sudo apt-get install <some app>

我该怎么办 ?我承认,我的驱动器有坏道,这可能是原因吗?还有什么我可以做的吗?

最佳解决思路

尝试使用较旧的状态文件,

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

次佳解决思路

这是一个老问题,但仅仅是为了存档目的……以下是在我的情况下解决这个问题的原因:

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

第三种解决思路

我遇到了类似的错误:

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.

我遵循类似的建议来复制status-old

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

由于某种原因,我的所有状态文件都是空白的。幸运的是,我发现这些文件有备份:

$ 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

我检查了最新的备份……

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

……但它仍然是空白的。所以我解开了一个较旧的…

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

这次有内容。所以我复制了它……

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

然后apt-get update运行没有问题。

Credit goes to this post.

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2900.html,未经允许,请勿转载。