尽管我在 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-image
是linux-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
。这将向您显示需要重新启动的服务,并可以立即重新启动它们!
长话短说,您不需要重新启动服务器!;-)