我可以在活跃用户登录的情况下更新 Ubuntu 吗?

anr*_*gen -2 linux update patch-management ubuntu-10.04 apt

我想运行 apt-get dist-upgrade,但我不知道这将如何影响当前登录的用户。我如何才能知道:
1. 是否需要重新启动
2. 系统是否稳定/正常直到需要重新启动(此页面暗示有时服务器将在重新启动之前无法运行)
3. 将在我运行 apt 更新才能成功之前,用户必须注销

Ant*_*des 7

在 Linux 中,就像我认为在所有 Unix 中一样,当一个进程有一个打开的文件时,即使您删除它,它也可以继续访问它。删除后,其他进程无法访问该文件(没有目录条目),但是在删除之前打开它的进程可以使用内核在打开它时提供给它们的句柄继续访问它。当文件被所有使用它的进程关闭时,内核才会真正释放磁盘空间。

因此,当您运行小型升级时,例如apt-get upgrade,这通常不会对系统产生太大影响。例如,假设通过删除和放置来apt升级。这是一个重要的更新,因为几乎所有内容都使用该库。但是,可能不会有任何故障,因为已经运行的进程将继续使用旧的、已删除的文件。新进程将使用新文件。这就是为什么,当有安全更新时,我们必须在更新后重启所有服务,但通常不需要重启系统。glibc/lib/x86_64-linux-gnu/libc-2.13.so/lib/x86_64-linux-gnu/libc-2.14.soglibcglibc

但是,如果正在运行的进程在运行时打开新文件,则可能会出现故障。一个进程可能已经打开了旧版本的文件 A,它可能会尝试打开文件 B 的新版本,而新 B 可能与旧 A 不兼容。或者在更新之前已经运行的程序可能尝试打开一些库,它可能与这些不兼容。或者,程序可能会尝试访问曾经位于某个特定位置的库,而现在它可能已移至别处。根据我的经验,此类故障主要发生在大型图形应用程序中。如果我在工作时升级系统,有时 Firefox 会停止响应或开始出现异常行为。在终端中运行的应用程序不太可能受到影响,但在重大升级中不太可能完全没有任何故障。

此外,在升级过程中,某些服务会在一段时间内被拒绝。而且,升级时经常出现问题,导致系统瘫痪,然后您必须修复这些问题,这可能需要一些时间。

底线:您的用户受到影响的程度取决于他们正在做什么,并且很大程度上取决于机会。他们没有注意到任何事情并不罕见,但赌上性命是不明智的。

至于重启,apt-get dist-upgrade可能会安装新内核,但不会卸载已经运行的内核。如果您不介意您仍将运行旧内核这一事实,则可以跳过重新启动。我相信理论上你可以在不重启系统的情况下修复几乎所有故障(只需重启服务),但在大升级后重启整个机器通常更容易。