什么时候需要重启Ubuntu系统?

在什么情况下需要重新启动Ubuntu系统? 我经常在答案中读到,在系统发生变化之后,系统将重新启动,但这是绝对必要的吗?

  • 内核恐慌之后;
  • 分区或文件系统修改后(更具体地说,调整根分区的大小;我建议不要调整一般启动的硬盘大小,不管分区如何;如果你要调整外部的东西,比如SD卡或USB,不需要重新启动);
  • 内核升级和安全补丁后(尽管可能并不总是必要 );
  • 系统因任何原因无响应后,你别无选择,只能使用魔法SYSRQ键或硬重置
  • 在对某些 dconf架构进行更改之后,具体取决于应用程序的开发方式。 相关答案
  • 你的CPU过热(你不想继续烤那些核心,对吗?)

通常有两种情况需要重新启动:

  1. 内核升级了。
  2. libc (而不是glibc )升级了。

有一种机制可以在不重新启动的情况下重新加载内核( 如何在不重新启动的情况下升级服务器的内核? )。 使用glibc ,最大的问题是init。 可以重新启动init(请参阅重新启动init而不重新启动系统 )。

对于普通用户,不建议使用,也需要重新启动。

显然,存在第三种情况:

  1. dbus已升级。 dbus-daemon显然无法重启(从我对此LWN文章的讨论可以理解)。 而且因为很多东西都依赖于DBus ……

实际上, 这取决于你想要完成的事情:

  • 如果您执行apt-get dist-upgrade并且有新内核,并且您想要激活它,则需要重新启动。

  • 如果有新版本的FireFox,你显然不会。

在这两个极端之间有50种灰度:

在此处输入图像描述

😉

事实上,我今天早些时候已经certificate了这一点。 有时,在进行更改后系统中会遗留剩余的东西。 例如,我有一个用户无法访问/dev/dsp尽管已添加到适当的组。 访问它的第一个用户在其上放置了一个锁。 但是,即使在杀死该用户之后,锁仍然存在,第二个用户无法访问它。 但是,重新启动后,两个用户都可以同时使用/dev/dsp而不会发生任何冲突。 重新启动会释放任何可能阻止更改正常生效的剩余内容。

我无法想到任何需要重新启动的情况。

真的,你可以让Ubuntu无限期地运行。 它可能会得到恶意软件(因为没有应用内核和libc更新),它可能会出现恐慌或崩溃……但是什么能够避免那些实际上会为你做的事情?

鉴于生活的复杂性,可能更有必要忽视计算机的不断需求,并以其他方式维持自己。 喜欢呼吸,吃饭,爱…生活。

但即便如此, 他们绝对有必要吗? 你是否存在于必要的绝对定义范围内? 我老实说不知道。 有点奇怪的问题要问。


对于那些对这篇文章及其后续文章进行了投票的两个大玩笑的破坏者,

这个问题不完整,或者至少是开放式的。 当你抛出必要的单词 ,你需要给出一个上下文。

许多答案已经假设 OP意味着非常需要 (在技术意义上),所以发布的答案适合必要的上下文, 以避免在 计算机崩溃时 被黑客攻击必要 。 他们是很好的答案。 添加另一个并不是真的有道理。

但他们说假设是所有粪便的母亲(或者类似的东西),所以我把它剥离回绝对必要 。 如果你坚持使用10.10的旧版本,那么时间和空间将继续滚动,就像它们的好处一样。

你会注意到我不推荐这个位置。

这个问题应该主要以意见为主

事实上,它取决于更新的内容,系统对开放Internet的暴露程度,以及您运行/需要运行的系统服务。

仅安装新版本的软件包不会导致重新启动相关服务和应用程序。 例如,如果您在为其安装更新的软件包时运行Firefox,那么当您切换回它时,将在浏览器中通知您,在安装更新后需要重新启动它。 同样,内核本身需要在应用更新时“重新启动”。 因为内核是硬件之上的最低级别,所以您需要重新启动系统,以便加载新内核。 对于其他服务,可以在不重新启动的情况下重新启动它们。 对环境服务使用的Unity或底层库的更新将需要您注销并重新登录,以重新启动它们。 对于系统服务,可以在应用更新后手动重新启动它们,但如果您尝试使用该系统,则自动执行此操作可能会非常具有破坏性。

唯一能够确定某项行动是否必要的唯一方法是了解变更的内容,以及未执行该行动的风险。 安全修复显然需要比其他事情的简单更改更加突然的操作,您可能永远不会直接遇到。 您的计算机连接到Internet越直接,风险就越大。 您必须考虑所有变量,并在安装更新时立即或稍后重新启动。

什么时候需要重启Ubuntu系统?

一台正在运行的机器,严格来说在进行更新/升级时? 可能永远不会(但请继续阅读)。 Linux系统的设置方式是,在您更新系统之后需要重新启动以激活新function(即读取内核已更改;更改为apache,mysql只需要重新启动服务)可以随时继续使用系统所处的当前状态。

现在,如果您希望这些新function处于活动状态,最简单的方法就是重新启动。 但是对于我们所有人而言,我们关心你继续在这台机器上工作并在下周末或之后的周末重新启动它。 或者下个圣诞节。 这很聪明吗? 也许不吧。 但没有人阻止你这样做。 如果服务器尚未重新启动,则系统足够智能,不能接受下一次更新。

对我来说,需要重新启动的唯一原因是首次安装后或需要单个用户进行维护时(想想分区,修复硬盘错误等)或者当一些白痴跑着名的叉炸弹时(虽然可以修复一个)来自系统本身)。

对于所有其他重新启动发生在管理员的优雅。 我不能称之为“必要”。

首先,我很欣赏这个问题,因为它总是最新的。
其他答案都是正确而且非常详细 – 这就是我做空的原因。

有些情况需要重新启动,例如在安装新内核之后。
有些情况下建议使用,例如安装新桌面后。

在大多数情况下,例如在安装或升级软件之后,不需要重新启动。
如果您有任何疑问,我建议您重新启动,以确保安全。

安装包debian-goodies

 sudo apt-get install debian-goodies 

并运行该命令

 sudo checkrestart 

您将看到一个服务列表,现在您可以选择:

  • 重启每项服务

要么

  • 重新启动系统

 $ checkrestart Found 20 processes using old versions of upgraded files (15 distinct programs) (14 distinct packages) Of these, 12 seem to contain init scripts which can be used to restart them: The following packages seem to have init scripts that could be used to restart them: gpm: 3044 /usr/sbin/gpm rpcbind: 2208 /sbin/rpcbind bind9: 8463 /usr/sbin/named openssh-server: 22124 /usr/sbin/sshd ntp: 4078 /usr/sbin/ntpd tftpd-hpa: 3417 /usr/sbin/in.tftpd uptimed: 2704 /usr/sbin/uptimed cron: 3019 /usr/sbin/cron postfix: 22145 /usr/lib/postfix/qmgr 8892 /usr/lib/postfix/master hddtemp: 3174 /usr/sbin/hddtemp autofs: 2792 /usr/sbin/automount openbsd-inetd: 3254 /usr/sbin/inetd These are the init scripts: service gpm restart service rpcbind restart service bind9 restart service ssh restart service ntp restart service tftpd-hpa restart service uptimed restart service cron restart service postfix restart service hddtemp restart service autofs restart service openbsd-inetd restart These processes do not seem to have an associated init script to restart them: isc-dhcp-client: 3775 /sbin/dhclient