reiniciar o "systemctl daemon-reload" para cambios en /etc/systemd/system.conf?

10

En CentOS-7, ¿un cambio en las opciones dentro de /etc/systemd/system.conf de systemd requiere un reinicio o será suficiente "systemctl daemon-reload"?

Jeff Kubina
fuente

Respuestas:

15

No, daemon-reload volverá a cargar todos los archivos de la unidad, no la configuración del sistema en sí. Sin embargo, # systemctl daemon-reexecvolverá a ejecutar systemd y hará que digiera su nueva configuración en el proceso.

Desde la página de manual de 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.

Cuando la página de manual dice que daemon-reexec es útil para las actualizaciones de paquetes, en gran parte significa que este comando ejecuta cualquier binario nuevo que haya y vuelve a procesar sus configuraciones. SIN EMBARGO, el RPM que usamos para actualizar systemd ya contiene un script para hacer esto, por lo que generalmente nunca es necesario en el caso de una actualización normal.

O puedes reiniciar. Cualquiera de los dos lo hará.

Spooler
fuente
3
Tenga en cuenta que el paquete systemd RPM incluye un scriptlet que ya daemon-reexec cuando se actualiza el paquete, por lo que no necesita hacerlo manualmente en esa situación.
Michael Hampton
1
Casi lo único que realmente necesita reiniciar es el kernel. La mayoría, si no todos, los servicios se reinician (si ya se estaban ejecutando) desde los scripts RPM durante la actualización usando systemctl try-restart.
Michael Hampton
2
@MichaelHampton es realmente un poco más complicado: no solo las actualizaciones de kernel, sino también de libc (y, en ocasiones, userland del mapeador de dispositivos) requieren un reinicio completo. Claro, puede señalar y reiniciar cada servicio afectado, pero como básicamente todos los servicios están vinculados contra libc, bueno, generalmente es más rápido reiniciar ...
shodanshok
1
@Motivated libcno es un servicio, sino la Biblioteca GNU C, que está vinculada por casi todos los ejecutables de Linux. Entonces, después de una libcactualización, debe reiniciar cualquier programa / proceso en ejecución; El método más fácil es reiniciar la máquina.
shodanshok
1
@ Motivado La respuesta está hablando de scripts en paquetes RPM, que son utilizados por distribuciones derivadas de Red Hat, pero no por distribuciones derivadas de Debian. Estos usan diferentes métodos de empaque, pero también llaman a systemctl para reiniciar los servicios o systemd.
Michael Hampton