/etc/systemd/system.confへの変更については、リブートまたは「systemctl daemon-reload」?


10

CentOS-7内で、systemdの/etc/systemd/system.conf内のオプションを変更するには再起動が必要ですか、それとも「systemctl daemon-reload」で十分ですか?

回答:


15

いいえ、daemon-reloadはsystemd自体の設定ではなく、すべてのユニットファイルをリロードします。ただし、# systemctl daemon-reexecsystemdを再実行して、プロセスの新しい構成をダイジェストします。

systemctlのmanページから:

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パッケージには、パッケージのアップグレード時にすでにデーモン再実行するスクリプトレットが含まれているため、そのような状況では手動で行う必要はありません。
マイケルハンプトン

1
本当に再起動が必要になるのはカーネルだけです。すべてではないにしても、ほとんどのサービスは、を使用したアップグレード中にRPMスクリプト内から自動的に再起動します(すでに実行されている場合)systemctl try-restart
マイケルハンプトン

2
@MichaelHamptonそれは本当に少しトリッキーです:カーネルだけでなく、libc(そして、時には、デバイスマッパーユーザーランド)のアップグレードも完全な再起動が必要です。確かに、あなたはポイントをピンと影響を受ける各サービスを再起動しますが、基本的にはできる全てのサービスが良く、libcのに対してリンクされている、それは一般的に高速再起動することです...
shodanshok

1
@Motivated libcはサービスではなく、ほとんどすべてのLinux実行可能ファイルによってリンクされているGNU Cライブラリです。したがって、libcアップグレード後、実行中のプログラム/プロセスを再起動する必要があります。より簡単な方法は、マシンを再起動することです。
shodanshok

1
@Motivated答えは、Red Hat派生ディストリビューションでは使用されますが、Debian派生ディストリビューションでは使用されないRPMパッケージのスクリプトについてです。これらは異なるパッケージ化方法を使用しますが、systemctlを呼び出してサービスまたはsystemd自体を再起動します。
マイケルハンプトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.