无法使用apt-get / dpkg – 输入/输出错误

我遇到了一个问题,不允许我做任何与apt-get相关的事情:安装,删除等等。每当我尝试做某事时(例如sudo apt-get install firefox -f )它给了我同样的错误信息:

 Reading database ... dpkg: unrecoverable fatal error, aborting: unable to open files list file for package `fontconfig-config': Input/output error E: Sub-process /usr/bin/dpkg returned an error code (2) 

我试图处理包fontconfig-config没有成功。

我发现“输入/输出错误”通常与硬盘驱动器的物理问题有关,但我不认为我正在使用该高清而没有任何其他问题。

我已尝试将提及删除到/var/lib/dpkg/status的包,如此处所述。

我已经尝试删除/var/lib/dpkg/info与包相关的所有文件,因为我找到了某个地方。

但我仍然无能为力。 当我找到给我带来麻烦的文件时,有趣的是:

 mecho@Ansible-MS-7680:/var/lib/dpkg/info$ ls fontconfig* ls: cannot access fontconfig-config.list: Input/output error fontconfig.list fontconfig.postinst fontconfig.preinst fontconfig.triggers fontconfig.md5sums fontconfig.postrm fontconfig.prerm 

这是在删除所有文件后完成的……看起来fontconfig-config.list仍然存在,但它没有显示出来!

有关如何解决问题的任何想法?

我在kubuntu精确, fontconfig-config_2.8.0-3ubuntu9.1


我没有安装smartmontools,也没有其他程序可以用来检查硬盘。 我认为最相似的是KDE分区管理器,但它不允许我检查任何东西(该选项似乎不可用)。 但是,我认为问题不在于高清。

你怎么建议我做fs检查? fcheck没有安装,我想不到bash中的任何其他命令(因为我不认为我还有其他任何可以执行检查的命令)。

谢谢。

编辑:我找到了命令(傻我), fsck 。 这就是我得到的:

 /dev/sda1: recovering journal Clearing orphaned inode 4456702 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456700 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456699 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456697 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456694 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456693 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456688 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456481 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456692 (uid=0, gid=0, mode=0100600, size=65536) Clearing orphaned inode 4456689 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 4456709 (uid=1000, gid=1000, mode=0100600, size=714046) Clearing orphaned inode 4456469 (uid=1000, gid=1000, mode=0140775, size=0) Clearing orphaned inode 3672644 (uid=0, gid=0, mode=0100644, size=1595) Clearing orphaned inode 1324021 (uid=0, gid=0, mode=0100640, size=1980) Clearing orphaned inode 1324014 (uid=0, gid=0, mode=0100640, size=126) Clearing orphaned inode 4456499 (uid=1000, gid=1000, mode=0100600, size=0) Clearing orphaned inode 4456483 (uid=1000, gid=1000, mode=0100600, size=65536) Setting free inodes count to 7147142 (was 7147702) Setting free blocks count to 23891195 (was 23781617) /dev/sda1: clean, 151930/7299072 files, 5292549/29183744 blocks 

我首先检查你的硬盘是否有错误。 如果您安装了smartmontools,请运行

 sudo smartctl -d ata -a /dev/sda 

如果这是安装了Ubuntu的磁盘,并确保Reallocated_Sector_Ct的值为0.如果它不为零 – 备份您仍然可以的任何内容并更换磁盘。

否则,如果(smartctl的输出)检出正常(希望),我会跟进文件系统检查。

我运行第二个fsck -y(它发现了很多问题)并且它最终让我重新安装有问题的包。

非常感谢。