Defina a variável de ambiente para todos os serviços em execução no systemd

3

Atualmente, estou trabalhando em uma ferramenta de implantação que irá configurar variáveis de ambiente em máquinas CentOS7. No momento, minha ferramenta está ciente de quais variáveis precisam ser configuradas, mas não está ciente de quais serviços as usarão, pois esses serviços podem nem estar instalados ainda.

Então os desafios são:

  1. No momento em que minha ferramenta está em execução, não tenho conhecimento de quais serviços estão precisando de quais variáveis de ambiente (e, portanto, não sabemos em qual .service arquivo colocá-los)

  2. Os serviços são executados como non-login não interativos, tanto quanto eu posso dizer, então as outras opções para obter uma espécie de variável de ambiente 'global' não parecem ser uma solução para isso (por exemplo, profile.d e esse tipo de coisa)

Existe outra maneira de persistir essas variáveis sem precisar saber o que o serviço fará referência a elas?

    
por LAMonday 02.11.2016 / 15:45

1 resposta

4

Em /etc/systemd/system.conf , você pode usar DefaultEnvironment= para definir variáveis de ambiente passadas para todos os serviços.

Você pode ler sobre os detalhes em man systemd-system.conf .

    
por 02.11.2016 / 16:44