如何修复 dpkg 错误[2]?

如何修复 dpkg 错误[2]?

每次我尝试安装或删除软件包时,都会出现此错误。我以为可能是硬盘的问题,但磁盘检查却显示一切正常。

dpkg: unrecoverable fatal error, aborting:
reading files list for package 'linux-headers-3.16.0-31': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install.  Trying to recover:

我尝试了从 dpkg 状态文件中删除此文件列表的解决方案,但无济于事。我尝试清除包,但没有用。我被困在这一点上,因为我在 Google 上找不到任何有用的信息。

更新:

现在错误信息如下:

dpkg: unrecoverable fatal error, aborting:
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install.  Trying to recover:

尝试后:https://askubuntu.com/a/603305/1992

更新2:

驱动器似乎有坏扇区,但重新分配的扇区数为 0。但是,驱动器相对较旧,因此我预计会出现一些问题。我无法立即更换它,在此之前,我仍然希望能够使系统保持最新状态(尤其是出于安全原因)。

我注意到在处理与错误中提到的包相关的一些 md5 校验和时存在问题,但我不知道如何处理它们,比如清除它们是否会允许 dpkg 继续。

答案1

我找到了答案这里这里

让我感到困惑的是,我之前尝试过两次,但都没有成功。这次成功可能是因为我使用了在 launchpad answers 上找到的一个脚本,该脚本可以备份和恢复它能恢复的内容……我不知道。无论如何,以下是修复方法:

  • pkexec gedit /var/lib/dpkg/status
  • 按名称搜索有问题的包并删除其条目。
  • 保存文件并退出 gedit。
  • 跑步sudo dpkg --configure -a
  • 以防sudo apt-get -f install万一。
  • 如果没有错误则继续。

答案2

如果运行后仍然有错误 sudo dpkg --configure -a#转到该位置后删除出现错误的文件 cd location rm -rf file-name[例如 0004] #然后重试 sudo apt-get -f install

它会起作用

相关内容