我目前正在開發一個部署工具,它將在 CentOS7 機器上配置環境變數。就目前情況而言,我的工具知道需要配置哪些變量,但不知道哪些服務將使用它們,因為這些服務可能尚未安裝。
所以挑戰是:
在我的工具運行時,我不知道哪些服務需要哪些環境變數(因此我們不知道
.service
將它們放入哪個文件中)據我所知,服務以非互動式非登入方式運行,因此獲取某種「全域」環境變數的其他選項似乎不是解決此問題的方法(即 profile.d 之類的事情)
是否有另一種方法可以保留這些變量,而無需知道哪些服務將引用它們?
答案1
在 中/etc/systemd/system.conf
,您可以用來DefaultEnvironment=
設定傳遞給所有服務的環境變數。
您可以閱讀有關詳細資訊man systemd-system.conf
。
答案2
這個解決方案怎麼樣:systemctl set-environment LD_LIBRARY_PATH=/usr/local/lib
?