为什么Ubuntu需要重启才能完成更新?


15

我听说Linux机器可以运行数月而无需重新启动。为什么在安装更新后,Ubuntu为什么说“需要重新启动才能完成更新...”?

自乔治·布什(George Bush Sr.)担任总裁以来,Linux和UNIX用户一直吹嘘他们还没有重启系统。

http://www.tested.com/news/feature/1141-how-often-do-you-really-need-to-reboot-your-pc/


3
多数人说,它们正在运行极其脆弱的系统,但是它们未连接到Internet,或者位于许多防火墙的后面。
Zoredache

Answers:


12

你读的是真的。大多数管理员会吹嘘他们的计算机的正常运行时间。可能是几天,几个月甚至几年。
但是,您需要知道的是,这些计算机不是您的日常台式机系统。它们是专用的服务器计算机。

关于他们的第一件事,他们很少运行X11。大多数服务器系统通常总是仅在终端上。因此,在XServer上升级并不重要。
其次,正如Karthik指出的那样,对X Server的更新仅需要重新启动X,而不是整个计算机。因此,您的正常运行时间仍然存在。

另一个非常重要的一点是,服务器系统不会随着最新内核版本的更新而更新。在Ubuntu上,您现在可能正在使用3.2版。在我的Arch系统上,我使用的是3.6版,但其中许多系统具有较长的正常运行时间,尽管使用反向移植的修补程序是完全安全的,但它们仍可能位于2.xx行中。

此类系统上的所有更新仅在原位完成。这些更新首先在测试计算机上进行测试,并且经过全面测试以确保没有中断,并且不需要重新启动即可实施,然后由管理员对其进行升级。

您也可以在Ubuntu系统上执行相同的操作。但是,那就不用担心自动更新了。做一些测试,然后尝试就地进行更新。甚至内核也可以热插拔。但是,每次成功实现它都需要大量的技能和专业知识。


1
没那么难。只需使用ksplice。 ksplice.com/pricing
Zoredache

我从手动执行整个过程的角度提到了它,而不是使用任何自动化工具。
darnir

8

在Linux 内核本身已更新的情况下才是这种情况。所有其他类型的更新都直接应用。内核在运行时无法更换,因此需要重新启动。

内核更新应该很少在常规更新期间发生,并且通常仅在升级周期内完成(12.04-12.10等)

您可以选择不重新启动,它将继续使用旧的内核。

编辑:可以完成内核热交换,以防止理论上重新引导,但是看起来并不遥不可及


2
我只是做了一个更新,它更新了一些xserver文件。但是操作系统表示需要重新启动才能完成更新。另外,我确信我读过某个地方,即使内核更新后,Linux操作系统也可以继续运行而无需重新启动。
罗兰

7
xserver技术上不需要重新启动,您只需重新启动xserver :)。说重启机器只是一个更简单的说明。在许多情况下,注销也可以满足要求。
Karthik T 2012年

$ cat /var/run/reboot-required.pkgs输出libssl1.0.0-libssl是内核的一部分吗?
Dan Dascalescu 2013年

3
@DanDascalescu不应该这样,如果您问我,在更新openssl / libssl时也不必强制重启,只要您确保重新启动所有使用openssl / libssl的程序/服务即可。我相信该程序包的维护者只需采取简单的方法即可安全运行,方法是重新启动而不是遍历所有正在运行的进程,检查哪些进程使用libssl,然后进行猜测以将进程映射到新贵和/或sysvinit服务名称。
blubberdiblub14年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.