現在、CentOS7 マシン全体で環境変数を構成するデプロイメント ツールに取り組んでいます。現状では、ツールは構成する必要がある変数を認識していますが、それらの変数を使用するサービスがまだインストールされていない可能性があるため、どのサービスがそれらを使用するかを認識していません。
課題は次のとおりです。
.service
ツールが実行中の時点では、どのサービスがどの環境変数を必要としているかわかりません(したがって、どのファイルにそれらを配置するかはわかりません)。私の知る限り、サービスは非対話型で非ログインで実行されるため、ある種の「グローバル」環境変数を取得する他のオプションは、この問題の解決策にはならないようです(つまり、profile.d など)。
どのサービスがこれらの変数を参照するかを知らなくても、これらの変数を永続化する別の方法はありますか?
答え1
では/etc/systemd/system.conf
、 を使用してDefaultEnvironment=
すべてのサービスに渡される環境変数を設定できます。
詳細については をご覧くださいman systemd-system.conf
。
答え2
この解決策はどうでしょうか: systemctl set-environment LD_LIBRARY_PATH=/usr/local/lib
?