Sto creando un pacchetto di configurazione e vorrei interrompere e riavviare i servizi la cui configurazione è interessata. In questo momento sto usando la service [stop|restart]
in {pre,post}{inst,rm}
modo. Ho letto in una domanda da qualche parte che invoke-rc.d
è il modo giusto , perché onora le preferenze dell'utente su un servizio. Tuttavia, non sono riuscito a trovare linee guida in merito. Qualcuno sa di tali linee guida? O hai qualche consiglio su come scegliere? Il pacchetto è di uso interno e probabilmente sarà solo per 14.04 per i prossimi due anni. Tuttavia, vorrei lasciare uno stato il più pulito possibile per il mio successore, quindi lo systemd
è anche nella mia mente.
Dalla invoke-rc.d
pagina man :
Tutti gli accessi agli script init da parte degli script del manutentore dei pacchetti Debian dovrebbero essere fatti tramite invoke-rc.d .
Dal Debian Policy Manual, Capitolo 9, Sezione 3.3 :
I manutentori dovrebbero usare il livello di astrazione fornito dai programmi update-rc.d e invoke-rc.d per gestire gli initscripts negli script dei loro pacchetti come postinst, prerm e postrm.
...
Gli script del manutentore del pacchetto devono utilizzare invoke-rc.d per richiamare gli initscripts /etc/init.d/*, invece di chiamarli direttamente.
Debian ha usato sysv-init
e passerà direttamente a systemd
, e suppongo che il manuale delle politiche sarà aggiornato a tempo debito per fare riferimento systemctl
. Tuttavia, ciò di cui non sono sicuro è questo: dovrei usare invoke-rc.d
invece di service
? Posso dire dpkg
che sono interessato ad alcuni file (tramite trigger), quindi c'è un modo per dire dpkg
che sono interessato anche ad alcuni servizi e iniziare dpkg
a riavviare / ricaricare?
Per chiarire: non sto scrivendo script init. Sto fornendo un pacchetto con la configurazione per altre applicazioni, come Puppet, NTP, ecc., Quindi interrompo e riavvio i servizi corrispondenti negli script.
Qui , per esempio, è una questione Docker su invoke-rc.d
vs service
. Il problema è ancora aperto, con una persona, probabilmente un manutentore, che commenta che sono sicuramente interessati a farlo nel modo giusto - chiaramente nessuno di noi è sicuro di cosa si tratti. (La mia domanda è indipendente da quel problema.)
invoke-rc.d
pagina man e i documenti della politica Debian ci dicono di usarla in relazione agli/etc/init.d/
script (probabilmente perché hanno ancora usato sysv-init). Come cambia con Upstart o systemd?