Bonsoir,
On 1/16/19 8:54 PM, Jonas DOREL via FRsAG wrote:
J'aimerai avoir vos avis concernant l'endroit où vous mettez les scripts que vous écrivez et les units systemd que vous écrivez lorsqu'ils doivent être accessible pour tout le système.
Mon avis est que les scripts perso devraient être installés dans /usr/local/bin. De la même façon, les units systemd perso devraient être installés dans /usr/local/lib/systemd/system, et pas dans /etc/systemd/system, comme c'est le cas actuellement, qui devrait uniquement être utilisé pour des fichiers de configurations selon FHS https://refspecs.linuxfoundation.org/FHS_3.0/(la question est alors: les units systemd sont-ils des fichiers de configurations ?).
PS: Je suis actuellement en train d'essayer de modifier la documentation de systemd sur le sujet (https://github.com/systemd/systemd/pull/11388). Selon certains, /usr/local/lib/systemd serait pour les units installés pour des programmes installés par l'utilisateur.
En fait, d'après moi, la réponse dépend :
- de la distribution, - et du fait que l'exécutable et l'unit systemd soient fournis ou non par un package (officiel ou non) de la distribution.
Je vais me limiter à Debian/Ubuntu que je connais un peu. Sous Debian/Ubuntu donc il me semble que la bonne pratique respectueuse de la Debian Policy (qu'on peut toujours ne pas respecter) est la suivante :
1. Si ton exécutable et ton unit systemd proviennent d'un package alors leur place est respectivement dans /usr/(s)bin/ et /lib/systemd/system/.
2. Sinon (ie fichiers installés hors packaging), leur place est respectivement dans /usr/local/(s)bin/ et /usr/local/lib/systemd/system/
Et dans les deux cas, si ton service est activé, tu auras un symlink qui pointera dessus quelque part dans le répertoire /etc/systemd/system/.
Mes 2 centimes. N'hésitez pas à me rectifier si j'ai dis des bêtises car je ne suis pas sûr de moi à 200%. ;)