Je crée un package de configuration et je souhaite arrêter et redémarrer les services dont la configuration est affectée. En ce moment je suis en utilisant le service [stop|restart]
en {pre,post}{inst,rm}
chemin. J'ai lu une question quelque part qui invoke-rc.d
est la bonne façon, car elle respecte les préférences des utilisateurs concernant un service. Cependant, je n'ai trouvé aucune directive à ce sujet. Quelqu'un connaît-il de telles directives? Ou avez-vous des conseils sur la façon de choisir? Le package est à usage interne et ne sera probablement valable que pour le 14.04 pour les deux prochaines années. Cependant, je voudrais laisser un état aussi propre que possible à mon successeur, c'est aussi systemd
dans mon esprit.
Depuis la invoke-rc.d
page de manuel :
Tous les accès aux scripts d'initialisation par les scripts de maintenance des paquets Debian doivent être effectués via invoke-rc.d .
Du manuel de politique de Debian, chapitre 9, section 3.3 :
Les responsables doivent utiliser la couche d'abstraction fournie par les programmes update-rc.d et invoke-rc.d pour gérer les scripts de début dans les scripts de leurs packages tels que postinst, prerm et postrm.
...
Les scripts du responsable du paquet doivent utiliser invoke-rc.d pour appeler les initscripts /etc/init.d/*, au lieu de les appeler directement.
Debian a utilisé sysv-init
et passera directement à systemd
, et je suppose que le manuel de politique sera mis à jour en temps voulu pour y faire référence systemctl
. Cependant, ce dont je ne suis pas certain, c'est ceci: devrais-je utiliser à la invoke-rc.d
place de service
? Je peux dire dpkg
que je suis intéressé par certains fichiers (via des déclencheurs), alors y a-t-il un moyen de dire dpkg
que je suis également intéressé par certains services et dpkg
de faire le redémarrage / rechargement?
Pour clarifier: je n'écris pas de scripts d'initialisation. Je fournis un package avec une configuration pour d'autres applications, comme Puppet, NTP, etc., donc j'arrête et redémarre les services correspondants dans les scripts.
Ici , par exemple, est une question à propos de Docker invoke-rc.d
vs service
. Le problème est toujours en suspens, une personne, probablement un responsable, a déclaré qu'elle était définitivement intéressée à faire cela de la bonne façon - clairement aucun de nous ne sait ce que c'est. (Ma question est indépendante de cette question.)
invoke-rc.d
page de manuel et les documents de politique Debian nous disent de l'utiliser en connexion avec les/etc/init.d/
scripts (peut-être parce qu'ils utilisaient toujours sysv-init). Comment cela change-t-il avec Upstart ou systemd?invoke-rc.d ... || service ...
Une meilleure façon pour les systèmes systemd est d'utiliser deb-systemd-invoke .
la source
deb-systemd-invoke
.