重启还是“ systemctl守护程序重新加载”以更改/etc/systemd/system.conf?


10

在CentOS-7中,对systemd的/etc/systemd/system.conf中的选项进行更改是否需要重启,或者“ systemctl daemon-reload”就足够了?

Answers:


15

不,daemon-reload将重新加载所有单元文件,而不是systemd本身的配置。但是,# systemctl daemon-reexec将重新执行systemd并导致其在此过程中消化其新配置。

从systemctl手册页:

daemon-reexec
       Reexecute the systemd manager. This will serialize the manager
       state, reexecute the process and deserialize the state again. This
       command is of little use except for debugging and package upgrades.
       Sometimes, it might be helpful as a heavy-weight daemon-reload.
       While the daemon is being reexecuted, all sockets systemd listening
       on behalf of user configuration will stay accessible.

当手册页上说daemon-reexec对于软件包升级很有用时,它在很大程度上意味着该命令将执行所有新的二进制文件并重新处理其配置。但是,我们用于升级systemd的RPM已经包含执行此操作的脚本,因此在正常升级的情况下通常不需要使用该脚本。

或者您可以重新启动。都可以。


3
请注意,systemd RPM软件包包括一个脚本集,在升级软件包时,该脚本集将已经daemon-reexec,因此在这种情况下,您无需手动执行此操作。
迈克尔·汉普顿

1
真正唯一需要重新引导的就是内核。在升级过程中,大多数(如果不是全部)服务会在RPM脚本中自行重启(如果它们已经在运行)systemctl try-restart
迈克尔·汉普顿

2
@MichaelHampton确实有点棘手:不仅内核,而且libc(有时还有设备映射器用户地)的升级都需要完全重启。当然,您可以
查明

1
@Motivated libc不是服务,而是GNU C库,几乎所有linux可执行文件都将其链接。因此,libc升级后,您应该重新启动任何正在运行的程序/进程。更简单的方法是重新启动计算机。
shodanshok '19

1
@Motivated答案是说RPM软件包中的脚本,这些脚本由Red Hat派生的发行版使用,而不是由Debian派生的发行版使用。这些使用不同的打包方法,但也调用systemctl来重新启动服务或systemd本身。
迈克尔·汉普顿
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.