Neustart oder "systemctl daemon-reload" für Änderungen an /etc/systemd/system.conf?

10

Erfordert eine Änderung der Optionen in /etc/systemd/system.conf von systemd innerhalb von CentOS-7 einen Neustart oder reicht "systemctl daemon-reload" aus?

Jeff Kubina
quelle

Antworten:

15

Nein, daemon-reload lädt alle Gerätedateien neu, nicht die Konfiguration für systemd selbst. Allerdings # systemctl daemon-reexecwird ausgeführt , erneut systemd und dazu führen , dass seine neue Konfiguration in dem Prozess zu verdauen.

Aus der systemctl-Manpage:

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.

Wenn auf der Manpage angegeben ist, dass daemon-reexec für Paket-Upgrades nützlich ist, bedeutet dies zum großen Teil, dass dieser Befehl alle neuen Binärdateien ausführt und seine Konfigurationen erneut verarbeitet. Das RPM, mit dem wir systemd aktualisieren, enthält jedoch bereits ein Skript, das bei einem normalen Upgrade normalerweise nie benötigt wird.

Oder Sie können neu starten. Beides geht.

Spooler
quelle
3
Beachten Sie, dass das RPM-Paket systemd ein Scriptlet enthält, das beim Aktualisieren des Pakets bereits einen Daemon-Reexec ausführt, sodass Sie dies in dieser Situation nicht manuell ausführen müssen.
Michael Hampton
1
Fast das einzige, was wirklich einen Neustart mehr braucht, ist der Kernel. Die meisten, wenn nicht alle Dienste werden während des Upgrades mithilfe von RPM-Skripten neu gestartet (sofern sie bereits ausgeführt wurden) systemctl try-restart.
Michael Hampton
2
@MichaelHampton es ist wirklich etwas kniffliger: Nicht nur Kernel-, sondern auch libc-Upgrades (und manchmal auch Geräte-Mapper-Userland-Upgrades) erfordern einen vollständigen Neustart. Sicher, Sie können jeden betroffenen Dienst
lokalisieren
1
@Motivated libcist kein Dienst, sondern die GNU C Library, die von fast allen ausführbaren Linux-Dateien verknüpft wird. Nach einem libcUpgrade sollten Sie daher alle laufenden Programme / Prozesse neu starten. Die einfachere Methode besteht darin, den Computer neu zu starten.
Shodanshok
1
@Motivated Die Antwort spricht von Skripten in RPM-Paketen, die von von Red Hat abgeleiteten Distributionen verwendet werden, nicht jedoch von von Debian abgeleiteten Distributionen. Diese verwenden unterschiedliche Verpackungsmethoden, rufen aber auch systemctl auf, um Dienste neu zu starten, oder systemd selbst.
Michael Hampton