apt-get update => 无法打开 dpkg 锁定文件(5:输入/输出错误)

apt-get update => 无法打开 dpkg 锁定文件(5:输入/输出错误)

如果我运行“sudo apt-get update”,我会收到以下错误消息

E: Could not open lock file /var/lib/dpkg/lock - open (5: Input/output error)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

这里有一个类似的aks-ubuntu:无法锁定管理目录 var-lib-dpkg 是另一个进程 通过删除锁定文件解决了(在检查问题不是由另一个进程“锁定”锁定文件引起的)

我检查没有其他进程有锁,并尝试删除锁定文件,这给了我

osmc@osmc:/var/lib/dpkg$ sudo rm lock
rm: cannot remove 'lock': Input/output error

我还尝试列出所有文件和权限:

osmc@osmc:/var/lib/dpkg$ ls -la
ls: cannot access available: Input/output error
ls: cannot access lock: Input/output error
ls: cannot access diversions: Input/output error
ls: cannot access info: Input/output error
ls: cannot access updates: Input/output error
total 680
drwxr-xr-x  7 root root   4096 May 25 17:13 .
drwxr-xr-x 24 root root   4096 May 23 23:46 ..
drwxr-xr-x  2 root root   4096 May 23 23:48 alternatives
-?????????  ? ?    ?         ?            ? available
-rw-r--r--  1 root root      8 May 19 20:25 cmethopt
-?????????  ? ?    ?         ?            ? diversions
-rw-r--r--  1 root root    943 May 19 20:31 diversions-old
d?????????  ? ?    ?         ?            ? info
-?????????  ? ?    ?         ?            ? lock
drwxr-xr-x  2 root root   4096 Apr 15 10:23 parts
-rw-r--r--  1 root root     65 May 19 20:29 statoverride
-rw-r--r--  1 root root      0 May 19 20:24 statoverride-old
-rw-r--r--  1 root root 330290 May 25 17:13 status
-rw-r--r--  1 root root 330290 May 25 17:13 status-old
drwxr-xr-x  2 root root   4096 May 23 23:48 triggers
d?????????  ? ?    ?         ?            ? updates

我想也许带有问号的文件是不可执行所以我尝试使 dpkg 中的所有文件可执行:

osmc@osmc:/var/lib$ sudo chmod -R a+rX dpkg
chmod: cannot access 'dpkg/available': Input/output error
chmod: cannot access 'dpkg/lock': Input/output error
chmod: cannot access 'dpkg/diversions': Input/output error
chmod: cannot access 'dpkg/info': Input/output error
chmod: cannot access 'dpkg/alternatives/rcp': Input/output error
chmod: cannot access 'dpkg/alternatives/mt': Input/output error
chmod: cannot access 'dpkg/alternatives/editor': Input/output error
chmod: cannot access 'dpkg/alternatives/w': Input/output error
chmod: cannot access 'dpkg/alternatives/awk': Input/output error
chmod: cannot access 'dpkg/alternatives/rsh': Input/output error
chmod: cannot access 'dpkg/alternatives/pico': Input/output error
chmod: cannot access 'dpkg/alternatives/lzma': Input/output error
chmod: cannot access 'dpkg/alternatives/builtins.7.gz': Input/output error
chmod: cannot access 'dpkg/alternatives/pager': Input/output error
chmod: cannot access 'dpkg/updates': Input/output error

我还在该目录中创建了一个测试文件来测试写入磁盘是否存在一般问题。然而它有效...

dmesg 给出

  osmc@osmc:~$ dmesg | tail -n 30
[  313.069081] EXT4-fs error (device mmcblk0p2): ext4_iget:3921: inode #136661: comm gmain: bad extra_isize (23520 != 256)
[  317.069236] EXT4-fs error (device mmcblk0p2): ext4_iget:3921: inode #136661: comm gmain: bad extra_isize (23520 != 256)
[  317.921020] EXT4-fs error (device mmcblk0p2): ext4_iget:3921: inode #130830: comm kodi.bin: bad extra_isize (52864 != 256)
[  321.068403] EXT4-fs error (device mmcblk0p2): ext4_iget:3921: inode #136661: comm gmain: bad extra_isize (23520 != 256)
[  325.069286] EXT4-fs error (device mmcblk0p2): ext4_iget:3921: inode #136661: comm gmain: bad extra_isize (23520 != 256)
[  329.069371] EXT4-fs error (device mmcblk0p2): ext4_iget:3921: inode #136661: comm gmain: bad extra_isize (23520 != 256)
.... (further similar errors)

有什么想法如何解决这个问题吗?

系统:带有 SD 卡的 Raspberry Pi 上的 OSMC

答案1

在关闭系统之前,记下或复制以下输出:

cat /proc/version

然后,您需要正确关闭,取出 SD 卡并e2fsck在所有 ext4 分区上运行 - 我不确定 OSMC 是否使用多个分区,但您可以使用fdisk.执行此操作时,您可以祈祷,因为这并不能保证修复。

关于发生这种情况的原因,您可能想要调查这个。您从中获得的信息/proc/version应该会告诉您是否正在使用由受影响的 gcc 版本之一构建的内核。

相关内容