我的 apt 由于 grub 配置失败而损坏。
看起来 grub 正在尝试发现我的 zfs 快照中的 linux-images:
Setting up linux-image-5.3.0-23-generic (5.3.0-23.25) ...
Processing triggers for man-db (2.8.7-3) ...
Processing triggers for linux-image-5.3.0-23-generic (5.3.0-23.25) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.3.0-23-generic
cryptsetup: ERROR: Couldn't resolve device rpool/ROOT/ubuntu_q9qi62
cryptsetup: WARNING: Couldn't determine root device
I: The initramfs will attempt to resume from /dev/sda5
I: (UUID=a9d90fb7-5154-4897-9a2e-90c040c8ee90)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: vmlinuz-5.3.0-18-generic in rpool/ROOT/ubuntu_q9qi62
Found initrd image: initrd.img-5.3.0-18-generic in rpool/ROOT/ubuntu_q9qi62
Found linux image: vmlinuz-5.3.0-19-generic in rpool/ROOT/ubuntu_q9qi62
Found initrd image: initrd.img-5.3.0-19-generic in rpool/ROOT/ubuntu_q9qi62
Found linux image: vmlinuz-5.3.0-23-generic in rpool/ROOT/ubuntu_q9qi62
Found initrd image: initrd.img-5.3.0-23-generic in rpool/ROOT/ubuntu_q9qi62
/etc/grub.d/10_linux_zfs: 338: .: Can't open /tmp/zfsmnt.rcbjOa/etc/.zfs/snapshot/autobackup-sd25sfd-2019-10-23--17-41-11/os-release
umount: /tmp/zfsmnt.rcbjOa: target is busy.
rmdir: failed to remove '/tmp/zfsmnt.rcbjOa': Device or resource busy
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-5.3.0-23-generic (--configure):
installed linux-image-5.3.0-23-generic package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
linux-image-5.3.0-23-generic
我正在使用安装程序的默认 ubuntu19.10 zfs 配置。
答案1
老了却不被重视,所以……
我刚刚遇到这个问题。原来是 sophos AV 扫描程序自动扫描 /tmp 下的新挂载点。这导致文件系统被锁定。因此,在运行更新时禁用 sophos 可以解决此问题。
添加以下钩子也可以解决未来的问题
root@:/etc/grub.d# ls -tlr *sophos*
-rwxr-xr-x 1 root root 45 Feb 9 13:16 01_sophos
-rwxr-xr-x 1 root root 46 Feb 9 13:16 999_sophos
root@:/etc/grub.d# cat *sophos*
#!/bin/sh
systemctl stop sophos-spl.service
#!/bin/sh
systemctl start sophos-spl.service
root@abl-nonprod-agent-02:/etc/grub.d#