如果您必须执行重复的任务,那么管理 Linux 服务器可能会感觉像是一件苦差事。
更新服务器是这些任务之一。 虽然您可以选择在您的服务器上自动安装安全更新,但这并不能让您完全摆脱维护任务。
为什么? 因为内核的安全更新需要重启 Ubuntu 服务器。
如果您在 Linode 等云服务之一上使用 Ubuntu 服务器,您会注意到它会通知您系统需要重新启动。
*** 需要重启系统 ***
如果我告诉您有一种方法可以在不重新启动服务器的情况下安装包括内核更新在内的所有更新。 它被称为实时内核补丁或实时补丁。
什么是实时修补?
实时修补是在不重新启动系统的情况下将安全修复应用到正在运行的 Linux 内核的过程。
这个过程非常复杂且有风险,这就是为什么它在 Linux 发行版中默认不可用的原因。
早期的 Linux 系统管理员必须做大量的手动工作才能为内核制作热补丁。 从 4.0 版开始,Linux 内核本身添加了实时修补支持。 这意味着您的 Ubuntu 系统应该支持实时修补。
但是,您始终可以通过在 Ubuntu 中使用以下命令来确保它受支持:
cat /boot/config-$(uname -r) | grep LIVEPATCH
如果你看到 Y
,这意味着您的内核支持实时修补。
现在让我们考虑实时内核补丁。 您将需要实时修补服务。 有一些工具可以对 Linux 内核进行实时修补。 像 Oracle 的 ksplice 或 来自 SUSE 的 kGraft 和 Ubuntu 的 Livepatch。
请记住,实时修补是由诸如此类的公司作为服务出售的 内核关怀. Ubuntu 允许每个 Ubuntu 帐户免费使用最多 3 台服务器(稍后解释)。
由于这里讨论的是 Ubuntu,所以最好使用 Ubuntu 本身的实时补丁服务。
在 Ubuntu 服务器上启用实时修补

如果您还没有帐户,则必须使用 Ubuntu One 创建一个帐户。

登录后,您可以看到您帐户的令牌以及您必须在要激活实时修补的服务器上使用的几个命令。

获得此令牌后,登录到您的 Ubuntu 服务器。
首先安装实时补丁工具:
sudo snap install canonical-livepatch
接下来,使用您从 Ubuntu One 帐户复制的令牌启用实时内核补丁。
sudo canonical-livepatch enable ad108xxxxxxxxxxxxxxxxxxxxxxxxx

就是这样。 现在您已启用实时修补,您无需担心重新启动服务器。 想象一下您的服务器的正常运行时间。
说到正常运行时间,让我分享一下系统管理员国歌 Uptime Funk。 这是来自 SUSE Linux 的相关且有趣的模仿视频。
不要重新启动它,只需修补:)