如何修复dpkg错误?

每次我尝试安装或删除包时,都会收到此错误。 我想也许这是硬盘,但磁盘检查给了我一个健康的清单。

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

UPDATE2:

似乎驱动器有坏扇区,但重新分配的扇区数为0.但是,驱动器相对较旧,所以我期待一些问题。 我将无法立即更换它,直到那时我仍然希望能够使系统保持最新(特别是出于安全考虑)。

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

我在这里和这里找到了答案。

让我感到困惑的是,我之前尝试了两次并且它没有用。 它可能在这次工作,因为我使用了我在启动板上找到的脚本答案备份并恢复了它可能…我不知道。 无论哪种方式,这是修复:

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