エクスポートしたいLD_LIBRARY_PATH
システムサービスとすべてのユーザーに。システムサービスはログイン前に実行されるため、.bashrc
は適用されません。
これを達成する方法は?
する必要はありません。ディストリビューションに応じて、ディレクトリを/etc/ld.so.conf
または/etc/ld.so.conf.d/
の新しいファイルに追加します。
その後、(少なくともRedhatでは)ldconfig
をrootとして実行する必要があります。
注意として、システムの共有ライブラリパスに追加するライブラリ(環境、ld.so.conf経由、または/ usr/local/libに置く)には注意が必要です。特に、同じライブラリーの同じsonameを持つ2つの異なるバージョンに注意してください。たとえば、dpkg/rpm/etcを介してlibfoo.0.1(soname libfoo.0)がインストールされている場合、カスタムライブラリディレクトリにlibfoo.0.2(soname libfoo.0)は必要ありません。
(実際にはシステム全体の環境変数を引き出すのは簡単ではありません。ほとんどのユーザーログインは/etc/environment
で取得できます。スクリプトはinitシステムに依存しますが、(たとえば)Debianのsysv initを使用すると、それを/etc/default/rcS
に入れます。何でもinittabからすぐに実行されてしまいます。
ファイル内のすべてのパスを/etc/ld.so.conf.d
に追加して実行できます。
ldconfig -v
次に、それらをロードします。