Atualmente estou trabalhando em uma ferramenta de implantação que configurará variáveis de ambiente em máquinas CentOS7. Da forma como está, minha ferramenta está ciente de quais variáveis precisam ser configuradas, mas não está ciente de quais serviços as utilizarão, pois esses serviços podem nem estar instalados ainda.
Então os desafios são:
No momento em que minha ferramenta está em execução, não sei quais serviços precisam de quais variáveis de ambiente (e, portanto, não sabemos em qual
.service
arquivo colocá-los)Os serviços são executados como não interativos e sem login, até onde eu sei, então as outras opções de obter uma espécie de variável de ambiente 'global' não parecem uma solução para isso (ou seja, profile.d e esse tipo de coisa)
Existe outra maneira de persistir essas variáveis sem precisar saber qual serviço fará referência a elas?
Responder1
No /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
.
Responder2
E esta solução: systemctl set-environment LD_LIBRARY_PATH=/usr/local/lib
?