为什么需要重启服务器?

Ran*_*lue 5 server security restart

登录到我的 Ubuntu 实例时,我收到消息*** System restart required ***。我正在运行服务器,正常运行时间对我来说非常重要。

我怎么知道为什么需要重启?我已经设置了自动安全更新,我怀疑其中一个更新需要重新启动。如果更新的软件与我的设置相关,我只想重新启动服务器。

Tho*_*ard 3

任意数量的不同更新都可能需要您重新启动。

  • 内核升级
  • 一些核心 C/C++ 库的更改
  • 只能通过重新启动才能应用更新,以完全关闭属于核心操作系统一部分的受影响服务的代码
  • 安全团队建议重新启动以修复某些未定义的库更新(例如最新的 glibc 漏洞,或某些 SSL 库更新)

不幸的是,不可能具体说明是什么原因导致您的系统需要重新启动,因为需要重新启动的潜在原因有很多。


小智 3

检查 /var/log/dpkg.log 的内容并查看最近安装了哪些软件包。已经修补了很多内核和 openssl/openssh/etc 漏洞,任何已经运行的服务都会将旧库的副本加载到 RAM 中,并且它们将继续存在漏洞,直到您手动重新启动受影响的服务。服务,或者您只需重新启动主机即可。如果升级的软件包是内核软件包(linux-image 等),那么重新启动是让新内核运行的唯一方法。

sudo zgrep -h 'status installed' /var/log/dpkg.log* | sort | tail -n 100
Run Code Online (Sandbox Code Playgroud)

将向您显示主机上安装的最后 100 个软件包。由您决定是否要重新启动它。

我相信您可以将一个设置添加到无人值守升级包中,使其在更新完成后自动重新启动。如果您可以将升级设置为在凌晨 3 点(您知道负载较轻时)进行,则此类重新启动的影响可能会很小。

据我了解,无人值守升级只会安装有安全影响的软件包,因此如果服务器暴露在公共互联网上,我不会推迟很长时间重新启动服务器。