为什么即使我安装了 Canonical Livepatch,系统仍要求我重新启动系统?

为什么即使我安装了 Canonical Livepatch,系统仍要求我重新启动系统?

尽管我在 Ubunut 20.04LTS 服务器上安装了 Canonical Livepatch,但我还是不清楚何时需要重启系统

$ sudo canonical-livepatch status --verbose
last check: 22 minutes ago
kernel: 5.4.0-29.33-generic
server check-in: succeeded
patch state: ✓ no livepatches needed for this kernel yet
client version: 9.5.5
architecture: x86_64
cpu model: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
boot time: 3 weeks ago

登录后我

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64)
62 updates can be installed immediately.
38 of these updates are security updates

所以我照常

sudo apt update
sudo apt upgrade -y

但现在我明白了 *** System restart required ***

$ cat /var/run/reboot-required.pkgs
linux-image-5.4.0-33-generic
linux-base

那么我需要重新启动吗?如果需要,为什么?Livepatch 不是用来处理关键内核补丁的吗?还是我误解了什么linux-imagelinux-base

我的理解是 Livepatch 存在,所以我们不需要重新启动。如何在进行安全更新的同时避免这种情况。

答案1

我不知道您是否找到了答案,但由于我自己也在为同样的问题而苦苦挣扎,所以我做了一些研究。安全更新的评级从可忽略级别到关键级别(有 5 个评级级别)。您可以运行以下命令检查每个更新的评级级别:

xargs apt-get changelog < /var/run/reboot-required.pkgs

这将输出文件中列出的每个软件包的整个“历史记录”(更改日志)(按“q”在每个列出的软件包之间导航)reboot-required.pkgs。最新更新位于列表顶部。在每个更新的右侧,您应该会看到一个urgency=标志,表明其评级。Livepatch 模块应自动将评级为“关键”的更新应用于内核,以避免必须重新启动服务器。

如果没有 Livepatch 模块,您将被迫重新启动服务器才能将安全补丁应用到内核。

最后,如果您想检查系统更新后是否有需要重新启动的服务,请安装软件包needestart然后sudo apt-get install needrestart运行sudo needrestart。这将向您显示需要重新启动的服务,并可以立即重新启动它们!

长话短说,您不需要重新启动服务器!;-)

相关内容