J'ai installé le pimd
service au moyen de apt
. Cela vient avec un systemd
fichier d'unité en amont ( /lib/systemd/system/pimd.service
).
Je veux que le service soit redémarré quand pour une raison quelconque il est tué, je souhaite donc ajouter la ligne Restart = always
dans le fichier d'unité.
Cependant, je ne veux pas modifier le fichier d'unité en amont.
Y a-t-il une solution à cela?
Réponses:
Vous avez deux options:
Copiez le fichier d'unité de
/lib/systemd/system/
à/etc/systemd/system/
.Ensuite, apportez vos modifications
/etc/systemd/system/pimd.service
pour remplacer complètement le ou les fichiers d'unité fournis par le responsable du package.La commande
systemctl edit --full <service-name>
automatise cela pour vous.Vous pouvez modifier ou ajouter des paramètres de configuration spécifiques pour une unité, sans avoir à modifier les fichiers de l' unité en créant des
.conf
fichiers dans un répertoire déroulant dans/etc/systemd/system/<unit-name>.<unit-type>.d/
iE créer un
/etc/systemd/system/pimd.service.d/restart.conf
La commande
systemctl edit <service-name>
effectue ces étapes pour vous.Voir
man systemd.unit
la source
systemctl edit <service-name>
systemctl edit --full <service-name>
.La documentation RHEL recommande deux méthodes:
/etc/systemd/system/[name-goes-here].service.d/config_name.conf
Dans ce cas, le fichier devrait contenir quelque chose comme ceci:
C'est ce qui
systemctl edit [name-goes-here]
fait, il crée ce répertoire etoverride.conf
en son sein.J'essaierais la première option, mais ce sont deux options viables. Dans tous les cas, pensez à exécuter
systemctl daemon-reload
après avoir effectué les modifications.Documentation RHEL sur la création et la modification de fichiers d'unité systemd
la source
Pensez à utiliser un script pour lire la configuration en amont, la modifier et la recracher dans un fichier de dépôt.
Par exemple, j'utilise Chef et voici un morceau de rubis (bibliothèque) qui analyse le fichier d'unité systemd marathon pour en obtenir ExecStart original
Puis dans la recette, je crée le fichier drop-in pour ajouter une option à ExecStart
la source