Quelqu'un d'autre a répondu à cette question ici sur le site Unix & Linux Stack Exchange.
(Extrait ci-dessous)
Les gens de systemd n'aiment pas les fichiers d'environnement.
Donc il n'y en a pas.
Plusieurs personnes de systemd ont déclaré, au fil des ans, que les fichiers d'environnement sont un mécanisme qu'ils ne devraient jamais avoir donné à systemd en premier lieu.
Le mécanisme natif de systemd est, après tout, le fichier d'unité de service lui-même, dans lequel les variables d'environnement sont définies avec les clés Environment=
. Personnaliser l'environnement d'un service avec des variables définies par l'administrateur ou spécifiques à la machine est, à leur avis, une question d'ajout de fichiers .conf
pour les unités, qui définissent d'autres variables d'environnement avec d'autres clés Environment=
.
(Mais honnêtement, il n'y a vraiment aucun intérêt à essayer de convertir dynamiquement des choses en un fichier qui convient à EnvironmentFile=
. […] En outre, /etc/sysconfig
est une spécificité de Redhat qui devrait vraiment disparaître, tout le concept est erroné. Ajouter un nouveau /run/sysconfig/
ne ferait qu'aggraver les choses.)
Je n'aurais probablement jamais dû ajouter EnvironmentFile=
en premier lieu. Les empaqueteurs ne comprennent pas que les fichiers d'unité sont sujets à une configuration d'administration et devraient être traités comme tels, et découper la configuration des fichiers d'unité en fichiers séparés EnvironmentFiles=
est vraiment un jeu d'indirection non-sensique inutile.
— Lennart Poettering (2015-12-09). Interrogation concernant "EnvironmentFile". systemd-devel.
L'utilisation de EnvironmentFile=
est presque toujours une mauvaise idée, et nous n'aurions probablement jamais dû ajouter cela, car cela incite les empaqueteurs à réintroduire la folie de /etc/default/
et /etc/sysconfig/
que nous essayons de supprimer.
— Lennart Poettering (2015-07-22). veuillez envisager d'avoir des variables pour un fichier d'unité entier. bug système #618. GitHub.
Contenu bonus
Dans le monde de daemontools, nous avons bien sûr des répertoires d'environnement, lus avec la commande envdir
/s6-envdir
. Bien que ce ne soit pas une norme ni une exigence de daemontools, une convention qu'on peut utiliser, qui est alignée avec certains outils, est que le répertoire d'environnement est nommé env
et se trouve dans le répertoire du service aux côtés du programme run
et d'autres éléments.