3 votes

Pourquoi systemd n'analyse-t-il pas ma configuration override comme prévu ?

Les phénomènes suivants sont reproductibles sur Arch Linux ainsi que sur Ubuntu Artful et j'en conclus donc que je n'ai pas de détail sur systemd Encore une fois.

Je veux simplement ajouter une commande à exécuter après le démarrage d'un démon Docker en tant que systemd service.

J'invoque un éditeur avec systemctl edit docker.service et pour les moyens d'évaluation, j'inscris ceci :

[Service]
ExecStartPost=true

Il existe un /etc/systemd/system/docker.service.d/override.conf avec ce contenu et j'invoque également le fichier systemctl daemon-reload pour être sûr.

J'affiche maintenant l'unité analysée avec systemctl show docker.service et non ExecStartPost apparaît dans le résultat, alors que je m'y attendais. A systemd-analyze verify ne donne rien.

Alors, pourquoi la ExecStartPost du fichier de dérogation n'est pas considéré comme faisant partie de l'unité par les systemd ?

Pour vérifier si le fichier contenant les directives de substitution est effectivement évalué, j'ai essayé ce contenu :

[Service]
ExecStart=
ExecStart=foo

À ma grande confusion, le ExecStart est désormais absente de la sortie de la directive systemctl show docker.service .

Quelqu'un peut-il m'expliquer pourquoi la première directive semble être prise en compte alors que la seconde ne l'est pas dans ce cas ?

2voto

funky-future Points 572

Mon erreur est apparemment de ne pas avoir spécifié un chemin d'accès absolu à la commande, comme par exemple :

[Service]
ExecStartPost=/bin/true

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X