没有重启的升级 - 在实践中会发生什么样的问题?

时间:2010-12-13 22:56:09

标签: linux security ubuntu upgrade

如果更新,重启前可能会出现哪些问题?如果您使用无人值守升级来应用安全补丁,则会发生这种情况。

共享对象被替换,因此程序可能会彼此不同步。

重启之前你能安全地走多久?

澄清:

我所说的“程序可以彼此不同步”是指一个二进制文件具有较早版本的共享对象,而新启动的实例具有较新版本的共享对象。在我看来,如果这些版本不兼容,那么两个二进制文件可能无法正常互操作。

这种情况经常在实践中发生吗?

更多说明:

我所得到的更多是安装程序通常启动/停止依赖于共享库的服务,以便他们获得新版本的API。如果他们得到所有的依赖关系,那么你可能没问题。但人们是否经常看到安装程序缺少依赖项?

如果编写服务以兼容支持所有以前的API版本,那么这将不是问题。但我怀疑它经常没有完成。

如果有内核更新,特别是在ABI更改不兼容的情况下,我看不出如何获取所有依赖项。我一直在寻找关于是否以及如何“翻倒”以及人们是否在实践中观察到这一点的经验,无论是内核更新还是库/包更新。

是的,这可能应该放入ServerFault ......

1 个答案:

答案 0 :(得分:3)

任何时候都有两个版本的可执行文件;内存中的那个和磁盘中的那个。

更新时,磁盘上的磁盘会被替换;记忆中的那个是旧的。如果它是一个共享对象,它会一直存在,直到每个使用它的应用程序退出;如果它是内核,它将保持不变,直到你重新启动。

直言不讳地说,如果它是您正在更新的安全漏洞,则该漏洞会一直存在,直到您加载(希望)已修补的版本为止。因此,如果它是内核,那么在重新启动之前就不安全了。如果它是共享对象,则重新启动可确保安全。

基本上,我会说这取决于漏洞的类别。如果它是安全的,请重新启动受影响的任何内容。否则,除非这个bug对你产生负面影响,否则我不担心。如果它是内核,我总是重启。