每当我尝试在 Ubuntu 18.04 中更新系统时,它都会停止:
每当它达到 时Setting up linux-headers-<version>-generic
。我无法从那里取消升级,但即使你把它放了几个小时,它也不会改变任何东西。如果我检查进程,它会htop
显示它现在正在做任何事情。如果我强制升级结束并尝试重新启动它,当我重试升级时,它会说上一次升级已被中断,我应该尝试使用它来sudo dpkg --configure -a
解决问题。
每次有 header-upgrade 可用时,我都觉得必须这样做非常烦人,尤其是因为我觉得这不应该发生,而且应该有一个更永久的修复方法。我遗漏了什么或做错了什么?
答案1
TLDR:禁用安全启动。
大约一个月前我开始遇到同样的问题。对我来说,解决方案是禁用安全启动。自从我安装 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
答案2
我的解决方案;
- ps 辅助 |删除 apt
- 终止 apt 进程
- sudo dpkg--configure-a
- apt 更新
- apt 升级
答案3
您可以查看 上的答案/var/log/apt/term.log
。这是日志的位置apt-get
。您还可以查看dpkg
日志文件/var/log/dpkg.log
apt
,或者apt-get
您使用的是基于dpkg
内部的。
另外,您可以通过 ID 识别该进程并运行strace -p
以检查其停止的具体原因。
这更像是对这一问题或类似问题的一般性回答。