如何知道更新后是否需要重新启动?

use*_*271 30 debian

我有 4 台带有 Debian Wheezy 操作系统的服务器。我安装了 Apticron,它会通知我有关更新的信息。Debian 更新是如此频繁,以至于当我完成更新 4 个服务器中的最后一个时,我会收到有关第一台服务器上新更新的新电子邮件。我在收到通知时尝试更新所有服务器,但我不知道是否需要重新启动服务器。我已经读过,如果目录"/var/run"包含文件,"reboot-required"我必须重新启动服务器。但我从未在"/var/run". 我怎么知道什么时候需要重启?如果不需要,我不希望每次安装新更新时都重新启动服务器。

我知道如果我更新 PHP 或 MySQL 等,我不需要重新启动服务器,但更新通常包含许多“lib ...”。

以下是 9 个更新(我本周收到了)。

krb5-locales 1.10.1+dfsg-5+deb7u3
libdbus-1-3 1.6.8-1+deb7u6
libgssapi-krb5-2 1.10.1+dfsg-5+deb7u3
libk5crypto3 1.10.1+dfsg-5+deb7u3
libkrb5-3 1.10.1+dfsg-5+deb7u3
libkrb5support0 1.10.1+dfsg-5+deb7u3
libruby1.8 1.8.7.358-7.1+deb7u2
libxml2 2.8.0+dfsg1-7+wheezy3
ruby1.8 1.8.7.358-7.1+deb7u2
Run Code Online (Sandbox Code Playgroud)

我不知道什么是“libkrb、libgssapi”等。如何检测是否需要重新启动?请不要建议安装 UnattendedUpgrades 来让服务器自动更新,因为如果更新不正确,这可能会导致网站脱机。

小智 34

checkrestartdebian-goodies包中检查。它显示了哪些进程使用了​​您更新的旧版本库。如果您无法从该列表中删除所有进程,则需要重新启动 :)

此外(正如 YuKYuK 所说),总是在内核更新后重新启动!

  • 或者,结帐 [`needrestart`](https://packages.debian.org/search?keywords=needrestart)。http://linux-audit.com/determine-processes-which-need-a-restart-with-checkrestart-needrestart/ (11认同)

YuK*_*YuK 12

cat /var/run/reboot-required.pkgs'service' waiting for a reload。什么都不需要重启,只需要内核升级(和 Windows :))。

或者在 Debian 上: lsof | grep lib | grep DEL

  • 关于 Debian Jessie 的注意事项:[`reboot-notifier`](https://packages.debian.org/search?keywords=reboot-notifier) 是一个默认未安装的小包,它在需要重启时附加此文件加载更新的内核。`reboot-notifier` 可以用作 [`update-notifier-common`](https://packages.debian.org/search?keywords=update-notifier-common) 的替代方案,它已在 Debian Jessie 中删除。另请参阅:http://serverfault.com/a/92939/177172。 (3认同)
  • 是的,命令显示库正在等待“更新”,一些库只是等待“服务”重启。只有内核更新需要系统重启(因为内核是内核:)。 (2认同)