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.dpagina 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-inite 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.dinvece di service? Posso dire dpkgche sono interessato ad alcuni file (tramite trigger), quindi c'è un modo per dire dpkgche sono interessato anche ad alcuni servizi e iniziare dpkga 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.dvs 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.dpagina 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?