Ubuntu 18.04卡在升级linux-header的过程中。

每当我尝试在Ubuntu 18.04中更新系统时,它就会停止: stuck 每当它到达Setting up linux-headers-<version>-generic时。我无法从那里取消升级,即使你让它运行几个小时,也不会有任何变化。如果我在htop中检查进程,它显示没有任何操作。如果我强制结束升级并尝试重新启动,再次尝试升级时,它会显示之前的升级被中断,应该使用sudo dpkg --configure -a来修复问题。
每次可用头文件升级时,我觉得不得不这样做非常烦人,特别是因为我觉得这不应该发生,应该有更持久的解决方案。我错过了什么或者做错了什么?

你运行了那个命令 sudo dpkg --configure -a 吗? - George Udosen
4是的,那确实解决了问题。但是我只有在首次破坏升级后才能得到这个选项,而且使用这样的解决方案感觉不对,我更希望有一个更持久的解决方案。 - Masqueey
没有永久的解决方案,但Ubuntu有机制来处理这些问题发生时,当然例行更新也有帮助。 - George Udosen
3个回答

简而言之:禁用安全启动。

大约一个月前,我也遇到了同样的问题。对我来说,解决方案是禁用安全启动。自从我安装了Ubuntu 18.04以来,我一直禁用了安全启动,并且升级过程中没有出现任何问题。然而,大约一个月前,我更新了BIOS,这导致安全启动重新启用(当时我并不知道)。升级过程中的冻结让我很沮丧,最后我发现问题是因为我的VirtualBox安装也无法正常工作。解决VirtualBox的方法是禁用安全启动,这也修复了我的linux-headers-<version>-generic升级问题。

如问题所述,升级过程会在此处冻结:

...
Setting up linux-headers-4.15.0-38-generic (4.15.0-38.41) ...

禁用安全启动后,我得到以下结果:
...
Setting up linux-headers-4.15.0-38-generic (4.15.0-38.41) ...
/etc/kernel/header_postinst.d/dkms:
Secure Boot not enabled on this system.
...
done

3谢谢你的回答。我在同一个地方卡住了...重新启动,禁用安全启动,成功更新,重新启动并重新启用安全启动,然后继续我的快乐之旅。 - Doktor J

我的解决方案:
- 执行命令:ps aux | grep apt - 终止apt进程 - 运行命令:sudo dpkg --configure -a - 运行命令:apt update - 运行命令:apt upgrade

您可以在/var/log/apt/term.log中检查答案。这是apt-get日志的位置。您还可以检查/var/log/dpkg.log中的dpkg日志文件,您使用的aptapt-get基于dpkg内部。

还有一件事,您可以通过ID识别进程并运行strace -p来检查它停止的原因。

这是对此类问题的一般回答。


1将这个添加到我的个人诊断笔记中。非常好的建议。谢谢。 - TonyG