Estoy creando un paquete de configuración y me gustaría detener y reiniciar los servicios cuya configuración se ve afectada. En este momento estoy usando el service [stop|restart]
en {pre,post}{inst,rm}
camino. Leí una pregunta en algún lugar que invoke-rc.d
es la forma correcta , porque respeta las preferencias del usuario sobre un servicio. Sin embargo, no pude encontrar ninguna guía sobre esto. ¿Alguien sabe de esas pautas? ¿O tiene algún consejo sobre la forma en que debo elegir? El paquete es de uso interno y es probable que solo sea por 14.04 durante los próximos dos años. Sin embargo, me gustaría dejar un estado lo más limpio posible para mi sucesor, también lo systemd
tengo en mente.
Desde la invoke-rc.d
página del manual :
Todo acceso a los scripts de inicio mediante los scripts de mantenimiento de los paquetes Debian debe hacerse a través de invoke-rc.d .
Del Manual de Políticas de Debian, Capítulo 9, Sección 3.3 :
Los encargados del mantenimiento deben usar la capa de abstracción proporcionada por los programas update-rc.d e invoke-rc.d para tratar los initscripts en los scripts de sus paquetes, como postinst, prerm y postrm.
...
Los scripts del mantenedor del paquete deben usar invoke-rc.d para invocar los initscripts /etc/init.d/*, en lugar de llamarlos directamente.
Debian ha estado usando sysv-init
y cambiará directamente a systemd
, y supongo que el manual de políticas se actualizará a su debido tiempo systemctl
. Sin embargo, de lo que no estoy seguro es de esto: ¿Debo usar en invoke-rc.d
lugar de service
? Puedo decir dpkg
que estoy interesado en algunos archivos (a través de disparadores), entonces, ¿hay alguna manera de decir dpkg
que también estoy interesado en algunos servicios y dpkg
hacer el reinicio / recarga?
Para aclarar: no estoy escribiendo guiones de inicio. Estoy proporcionando un paquete con configuración para otras aplicaciones, como Puppet, NTP, etc., así que detengo y reinicio los servicios correspondientes en los scripts.
Aquí , por ejemplo, es una cuestión acerca del estibador invoke-rc.d
vs service
. El problema aún está abierto, con una persona, probablemente un mantenedor, comentando que definitivamente están interesados en hacer esto de la manera correcta , claramente ninguno de nosotros está seguro de qué es eso. (Mi pregunta es independiente de ese problema).
invoke-rc.d
página del manual y los documentos de la política de Debian nos dicen que lo usemos en conexión con los/etc/init.d/
scripts (posiblemente porque todavía usaban sysv-init). ¿Cómo cambia eso con Upstart o systemd?invoke-rc.d ... || service ...
Una mejor manera para los sistemas systemd es usar deb-systemd-invoke .
fuente
deb-systemd-invoke
.