每次我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.
Run Code Online (Sandbox Code Playgroud)
同样的,当我尝试安装一些东西并做 sudo apt-get install <some app>
我该怎么办 ?我承认,我的驱动器有坏扇区,这可能是原因吗?还有什么我可以做的吗?
小智 45
这是一个老问题,但仅用于存档目的……以下是在我的情况下解决此问题的方法:
sudo rm /var/lib/apt/lists/* -vf
sudo apt-get clean
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
Avi*_*Raj 39
尝试使用较旧的状态文件,
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
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的错误:
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.
Run Code Online (Sandbox Code Playgroud)
我按照类似的建议复制status-old.
$ head /var/lib/dpkg/status
$ head /var/lib/dpkg/status-old
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我所有的状态文件都是空白的。幸运的是,我发现有这些文件的备份:
$ 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
Run Code Online (Sandbox Code Playgroud)
我检查了最新的备份...
$ head /var/backups/dpkg.status.0
Run Code Online (Sandbox Code Playgroud)
……但还是一片空白。所以我解开了一个旧的...
$ gunzip /var/backups/dpkg.status.1.gz
$ head /var/backups/dpkg.status.1
Run Code Online (Sandbox Code Playgroud)
这次有内容了。所以我复制了...
$ cp /var/backups/dpkg.status.1 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
然后apt-get update跑了没问题。
| 归档时间: |
|
| 查看次数: |
106046 次 |
| 最近记录: |