No momento, estou reescrevendo upstart
trabalhos para usar systemd
e queria saber:
Onde está o local "padrão" para umEnvironmentFile
?
Pode potencialmente entrar/etc/environment
Pode ser com todos os outros arquivos de serviço em /etc/systemd/service
, /run/systemd/system
ou /lib/systemd/system
mas não vejo nenhum outro EnvironmentFile
s nesses locais para nenhum outro Service
.
Eu também debati /etc/default/
ou/etc/<PACKAGE_NAME>
Não há um lugar "convencional" documentado para colocá-lo. Muitos dos exemplos que vi parecem usar o /tmp/<FILE_NAME>
que não faz sentido, pois /tmp
são apagados na reinicialização, e esses arquivos precisam persistir para que possam ser referenciados sempre que o Service
for iniciado ou reiniciado.
Antecedentes: Estou gerando o EnvironmentFile
tempo de pré-instalação (com scripts de manutenção) antes do pacote debian ser instalado e sei que o arquivo deve estar disponível toda vez que o serviço for iniciado/reiniciado.
O pessoal do systemd não gosta de arquivos de ambiente.
Então não há um.
Várias das pessoas do systemd estão registradas, ao longo dos anos, dizendo que os arquivos de ambiente são um mecanismo que eles nunca deveriam ter dado ao systemd em primeiro lugar.
O mecanismo systemd nativo é, afinal, o próprio arquivo da unidade de serviço, no qual as variáveis de ambiente são definidas com
Environment=
chaves. Personalizar o ambiente de um serviço com variáveis definidas pelo administrador ou específicas da máquina é, na visão deles, uma questão de inserir arquivos de snippet.conf
para unidades, que definem outras variáveis de ambiente comEnvironment=
chaves adicionais.— Lennart Poettering (09/12/2015). Consulta sobre "EnvironmentFile" . systemd-devel.
— Lennart Poettering (2015-07-22). por favor, considere ter variáveis para um arquivo de unidade inteiro . bug #618 do systemd. GitHub.conteúdo bônus
No mundo dos daemontools, temos diretórios de ambiente, é claro, leia com o comando
envdir
/ .s6-envdir
Embora não seja um padrão nem um requisito dos daemontools, uma convenção que se pode usar, que se alinha com algumas ferramentas, é que o diretório do ambiente é nomeadoenv
e reside no diretório do serviço junto com orun
programa e outras coisas.