Devuan(无systemd的Debian Bullseye)执行apt upgrade遇I/O错误的排查修复求助
我用的是不带systemd的Debian Bullseye(也就是Devuan),今天打算升级系统里的软件包,于是输入了命令:
sudo apt upgrade
结果操作失败了,弹出了一堆错误提示——我把瑞典语的系统提示用谷歌翻译转成了英文,内容如下:
dpkg: error processing archive /var/cache/apt/archives/linux-image-5.10.0-25-amd64_5.10.191-1_amd64.deb (--unpack):
could not read status of "./boot/System.map-5.10.0-25-amd64" (which was just about to install): Input/output error
dpkg-deb: error: subprocess paste was killed by signal (The pipe was broken)
W: Last kernel image has been removed, so removing the default symlinks
An error occurred while processing:
/var/cache/apt/archives/linux-image-5.10.0-25-amd64_5.10.191-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
我尝试用apt --fix-broken install来修复损坏的包依赖,但还是没用。谷歌搜了好一阵,也没找到和我这个情况完全匹配的解决方案,想请教下这个错误到底是什么意思,我该怎么调试和修复它?
编辑1:附上我的sources.list内容
$ cat /etc/apt/sources.list # deb cdrom:[Devuan GNU/Linux 4.0 chimaera amd64 - desktop 20211012]/ chimaera contrib main non-free deb http://deb.devuan.org/merged chimaera main deb-src http://deb.devuan.org/merged chimaera main deb http://pkgmaster.devuan.org/merged chimaera-security main deb-src http://pkgmaster.devuan.org/merged chimaera-security main # chimaera-updates, to get updates before a point release is made; # see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports deb http://deb.devuan.org/merged chimaera-updates main deb-src http://deb.devuan.org/merged chimaera-updates main
编辑2:问题已解决!
折腾了半天终于找到原因了——我的/boot目录是挂载在一个可插拔的USB驱动器上的,平时开机之后我就把这个U盘拔掉了。刚才我把U盘重新插回电脑,再执行升级操作,居然一切都正常完成了!
备注:内容来源于stack exchange,提问作者Mikke Mus

