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


25

在什么情况下需要重启Ubuntu系统?我经常在回答中读到,在系统发生更改后,将要重新启动系统,但这绝对必要吗?

Answers:


22
  • 内核崩溃后;
  • 分区或文件系统修改后(更具体地讲,调整根分区的大小;建议不要调整通常从其启动的硬盘驱动器的大小,而与分区无关);如果要调整外部容量(例如SD卡或USB),则无需重新引导);
  • 内核升级和安全补丁之后(尽管可能不一定总是需要);
  • 在系统由于任何原因变得无响应之后,您别无选择,只能使用魔术的SYSRQ键或硬重置
  • 在对某些 dconf模式进行了更改之后,具体取决于开发应用程序的方式。相关答案
  • 您的CPU过热(您不想继续烘烤这些内核,对吗?)

为什么分区后需要重启Ubuntu?
UTF-8

@ UTF-8通常,建议对未挂载的文件系统进行分区,以防止数据丢失。因此,如果要对硬盘驱动器进行分区,则需要插入实时USB / DVD并重新启动;完成分区后,重新引导回硬盘驱动器。
Sergiy Kolodyazhnyy 2015年

2
是的,但是无论如何,重新启动是您要做的事情。如果对系统不依赖的内容进行分区(数据分区,拇指驱动器,SD卡,外部硬盘驱动器,文件容器等),则无需重新引导。2小时前为2个设备制作新的分区表时,我没有重新启动。
UTF-8

@ UTF-8我想我的回答应该更具体。将在一秒钟内解决该问题:)
Sergiy Kolodyazhnyy 2015年

1
使用分区功能时,有时gparted等会说“无法通知内核plz重新启动”
Wilf 2015年

17

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

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

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

对于普通用户,不建议这样做,并且必须重新启动。

显然,存在第三种情况:

  1. dbus已升级。dbus-daemon显然无法重新启动(从我对LWN文章的讨论中可以了解到)。而且由于很多事情都依赖DBus ...

12

实际上,这取决于您要完成的工作:

  • 如果您这样做了,apt-get dist-upgrade并且有一个新内核出现,并且想要激活它,则需要重新引导。

  • 如果有新版本的FireFox出现,您显然没有。

在这两个极端之间有50种灰色阴影:

在此处输入图片说明

;-)


1
确实有50种阴影:)
AB

1
这50个Shades响应非常棒!:)
Terrance

1
我在这个SE上创建了一个帐户,只是为了支持这个答案...是的,适用于50种灰色阴影。
CDub

9

实际上,我今天早些时候的情况证明了这一点。有时,进行更改后,系统中会残留一些剩余的东西。例如,我有一个用户,/dev/dsp尽管已被添加到适当的组中,但仍然无法访问。第一个访问它的用户已将其锁定。但是,即使杀死了该用户,该锁仍然处于锁定状态,第二个用户无法访问它。但是,重新启动后,两个用户都可以同时使用/dev/dsp而没有任何冲突。重新启动会释放任何残留的东西,这些残留的东西可能会阻止更改正确生效。


好的,重启带来了预期的效果,但是确实有必要。
2015年

是的,因为杀死oss我正在使用的进程已显示出使其处于某种前后不一致的状态,此后它并不总是起作用。

9

我想不出绝对需要重新启动的任何情况。

确实,您可以使Ubuntu无限期地运行。它可能会感染恶意软件(因为未应用内核和libc更新),并且可能会出现恐慌或崩溃……但是如何避免那些实际上为您做的事情呢?

考虑到生活的复杂性,可能更需要忽略计算机的不断需求,并以其他方式维持自己的生活。喜欢呼吸,饮食,爱...生活。

但是即使那样,它们绝对必要吗?您是否在这架飞机上存在绝对必要性?老实说我不知道​​。提出一个奇怪的问题。


对于两个对这篇文章以及随后的文章大加赞赏的大玩笑的破坏者,

这个问题是不完整的,或者至少是开放性的。当您抛出必要的单词,您需要提供上下文。

许多答案已经假定 OP是非常合乎需要的(从技术意义上来说),因此发布的答案适合诸如避免被黑在计算机崩溃时必不可少的必要上下文之类的上下文。他们是很好的答案。确实没有必要添加另一个。

但是他们说,假设是所有乱糟糟的事情的母亲(或者类似的东西),所以我将其归结为绝对必要。如果您坚持使用10.10的旧版本,那么时空和它们的遗愿一样会不断发展。

您会注意到我不建议该职位。


2
+1和广阔的笑容让他们喜欢吃饭而不是重启!:D
字节指挥官

恶意软件?拜托,内核更新和libc更新在这里没有任何关系。好的,也许内核可以发挥作用,但是这完全取决于互联网,而且Linux被感染的风险要小得多。Ubuntu也有自动更新。Linux也非常稳定,但是我同意存在风险。否则,荣誉。
2015年

5

这个问题实际上应该作为主要基于意见的问题来解决

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

仅仅安装软件包的新版本不会导致相关服务和应用程序重新启动。例如,如果您正在运行Firefox,同时为其安装更新的软件包,则当您切换回它时,将在浏览器中通知您,安装更新后,它需要重新启动。同样,在对其应用更新时,内核本身也需要“重新启动”。由于内核是硬件之上的最低级别,因此您确实需要重新引导系统以加载新内核。对于其他服务,可以在不重新启动的情况下重新启动它们。对Unity的更新或环境服务使用的基础库,则需要注销然后重新登录,以重新启动它们。对于系统服务,可以在应用更新后手动将其重新启动,但是如果您尝试使用系统,则自动进行操作可能会造成很大的破坏。

唯一确定是否必须执行某项操作的唯一方法是,了解更改是什么,以及不执行该操作所面临的风险。安全修补程序显然需要比其他事情的简单更改更为突然的动作,而您可能永远不会直接遇到这些更改。您的计算机与Internet的连接越直接,风险就越大。您必须考虑所有变量,并决定是立即更新还是稍后在安装更新时重新启动。


5

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

正在运行的计算机,严格来说是在进行更新/升级时?可能永远不会(但请继续阅读)。设置Linux系统的方式是,在更新系统后,需要重新启动才能激活新功能(即读取内核已更改;对Apache的更改,mysql仅要求重新启动服务),可以始终保持系统处于打开状态。

现在,如果要激活这些新功能,最简单的方法是重新启动。但是,尽管如此,我们仍然在乎您继续使用这台计算机,并在下一个周末或之后的下一个周末重新启动它。或下个圣诞节。聪明吗?也许不吧。但是没有人阻止您这样做。如果服务器尚未重新引导,则系统足够智能,无法接受下一次更新。

对我来说,唯一需要重新启动的原因是在首次安装后或需要单个用户的维护(例如分区,修复硬盘错误之类的事情)或某些白痴跑着著名的前叉炸弹(尽管可以修复该问题)时从系统本身)。

对于所有其他重新引导,发生都是由管理员决定的。我不能称其为“必要”。


4

首先,我很欣赏这个问题,因为它永远是最新的。
其他答案是正确且非常详细的-这就是为什么我做空的原因。

在某些情况下,需要重新启动,例如在安装新内核之后。
在某些情况下(例如在安装新台式机之后),建议您这样做。

在大多数情况下,例如在安装或升级软件后,无需重新启动。
每当您有疑问时,我建议您重新启动,以确保您的安全。


2
同意 始终站在安全的一边总是更好
Sergiy Kolodyazhnyy 2015年

“在某些情况下建议这样做,例如在安装新桌面之后。” 在这种情况下,注销并重新登录就足够了吗?
伊莱亚·卡根

@EliahKagan是的,通常,当您安装新的桌面环境时,退出并重新登录当然应该足够,但是我看到很多情况下出现问题,这就是我说的原因,建议您这样做。:)
cl-netbox

2

安装软件包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
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.