systemd에서 실행되는 모든 서비스에 대한 환경 변수 설정

systemd에서 실행되는 모든 서비스에 대한 환경 변수 설정

현재 CentOS7 시스템에서 환경 변수를 구성하는 배포 도구를 개발 중입니다. 현재 내 도구는 어떤 변수를 구성해야 하는지 알고 있지만 해당 서비스가 아직 설치되지 않았을 수 있으므로 어떤 서비스가 해당 변수를 사용할지는 알지 못합니다.

따라서 과제는 다음과 같습니다.

  1. .service내 도구가 실행될 때 어떤 서비스에 어떤 환경 변수가 필요한지 알 수 없습니다. 따라서 어떤 파일에 넣어야 할지 알 수 없습니다 .

  2. 내가 알 수 있는 한, 서비스는 비대화형, 비로그인 모드에서 실행되므로 일종의 "전역" 환경 변수를 가져오는 다른 옵션은 이 문제를 해결하는 방법이 아닌 것 같습니다(예: profile .d 또는 이와 유사한 것)

어떤 서비스가 해당 변수를 참조하는지 알지 못한 채 이러한 변수를 유지하는 또 다른 방법이 있습니까?

답변1

에서는 모든 서비스에 전달되는 환경 변수를 설정할 /etc/systemd/system.conf수 있습니다 .DefaultEnvironment=

자세한 내용을 읽을 수 있습니다 man systemd-system.conf.

답변2

이 솔루션은 어떻습니까 systemctl set-environment LD_LIBRARY_PATH=/usr/local/lib?

관련 정보