저는 현재 CentOS7 시스템 전반에 걸쳐 환경 변수를 구성하는 배포 도구를 개발 중입니다. 현재 내 도구는 어떤 변수를 구성해야 하는지 알고 있지만 해당 서비스가 아직 설치되지 않았을 수도 있으므로 어떤 서비스가 해당 변수를 사용할지는 알지 못합니다.
따라서 과제는 다음과 같습니다.
내 도구가 실행되는 시점에는 어떤 서비스에 어떤 환경 변수가 필요한지 알 수 없습니다. 따라서
.service
이를 어떤 파일에 넣을지 알 수 없습니다.내가 알 수 있는 한 서비스는 비대화형 비로그인으로 실행되므로 일종의 '전역' 환경 변수를 가져오는 다른 옵션은 이에 대한 해결책처럼 보이지 않습니다(예: profile.d 및 그런 종류의 것).
어떤 서비스가 해당 변수를 참조하는지 알 필요 없이 이러한 변수를 유지하는 또 다른 방법이 있습니까?
답변1
에서는 모든 서비스에 전달되는 환경 변수를 설정하는 데 /etc/systemd/system.conf
사용할 수 있습니다 .DefaultEnvironment=
자세한 내용은 에서 읽어보실 수 있습니다 man systemd-system.conf
.
답변2
이 솔루션은 어떻습니까 systemctl set-environment LD_LIBRARY_PATH=/usr/local/lib
?