内核更新后重新启动Linux是否很重要?

我有一些生产Fedora和Debiannetworking服务器,它们托pipe我们的网站以及用户shell账户(用于git vcs工作,一些屏幕+ irssi会话等)。

偶尔会有一个新的内核更新yum / apt-get的pipe道中出现,我想知道大多数修复是否足够严重以保证重新启动,或者如果我可以应用修复程序sans reboot。

我们的主要开发服务器目前有213天的正常运行时间,我不确定是否运行这样一个更老的内核是不安全的。

长时间的运行没有什么特别的。 拥有一个安全的系统通常会更好。 所有系统都需要更新。 您可能已经在应用更新,当您应用这些更新时,您是否计划停机? 你可能应该以防万一出现问题。 重启应该不是那么多时间了。

如果您的系统对中断非常敏感,那么您可能应该考虑进行某种集群设置,以便更新集群的单个成员,而不必closures所有设备。

如果您不确定特定的更新,安排重新启动并应用它可能会更安全(最好在另一个类似的系统上testing之后)。

如果您有兴趣了解更新是否重要,请花时间阅读安全通知,然后按照链接返回到CVE或描述该问题的post/列表/博客。 这应该有助于您决定更新是否直接适用于您的情况。

即使你不认为它适用,你仍然应该考虑最终更新你的系统。 安全性是一种分层的方法。 你应该在某个时间点假设其他层可能会失败。 而且,您可能会忘记自己有一个易受攻击的系统,因为在稍后的某个时间点更改configuration时会跳过更新。

无论如何,如果你想忽略或等待一段时间在基于Debian的系统上更新,你可以把包暂停。 我个人喜欢把所有的内核包保存以防万一。

CLI方法在基于Debian的系统上设置一个包。

 dpkg --get-selections | grep 'linux-image' | sed -e 's/install/hold/' | sudo dpkg --set-selections 

大多数更新不需要重新启动,但内核更新(你不能真正replace正在运行的内核,而无需重新启动)。

我发现的一件事是,如果你的服务器已经运行了很长时间而没有重新启动,那么当你重新启动的时候,它更可能要做磁盘检查(fsck),这可能会大大增加返回的时间再次运行。 最好预测这一点,并计划。

我还发现configuration更改有时可能会丢失,直到重新启动(比如添加新的IP地址/ iptables规则等)才会被注意到,这也增加了很less重新启动时的“宕机风险”。

最好在重启时计划一些停机时间,或者如果这不是一个理想的select,请将服务器设置为集群,以便在必要时重新启动。

如果您只是需要安全更新而不是全新的内核,那么您可能对Ksplice感兴趣 – 它允许您将某些内核更新修补到正在运行的内核中。

有没有简单的答案,一些内核升级不是真正的安全相关的,有些可能会解决不影响你的安全问题,而其他人可能会影响你。

最好的办法是注册相关的安全邮件列表,比如说ubuntu的security-announce,这样你就可以看到安全补丁何时出现,以及它们如何影响你。

我也会考虑apticron或类似的获取任何其他包更新的细节和更新日志。

这是更新的function – 如果它修复了一个priv。 升级导致根访问,那么你可能想要应用它。

如果您重新启动,则应确保新内核不是引导时启动的默认内核。

你想要的最后一件事是在未计划的重新启动之后使用未经testing的内核进行生产。

如上所述,如果你安装了内核并且重启,确保它不是默认的。 你不知道你的服务器会返回到什么状态,所以确保它已经过testing。

话虽如此,我认为在可能的情况下,习惯性地重新启动机器是很好的习惯。 许多硬件和软件故障只会在重新启动时出现,最好在计划重新启动时找出那些故障,而不是在计划外停机期间。

请注意,一些debian内核更新需要(以及强烈推荐),你应用后尽快重新启动。

当差异不足以保证模块目录改变时,情况就是如此,但模块可能不同。

当你安装这样的内核软件包时,你会被Debian警告。