Я хочу экспортировать LD_LIBRARY_PATH
в системные службы и всех пользователей. Системные сервисы запускаются до входа в систему, поэтому .bashrc
не применяется.
Как этого добиться?
Я хочу экспортировать LD_LIBRARY_PATH
в системные службы и всех пользователей. Системные сервисы запускаются до входа в систему, поэтому .bashrc
не применяется.
Как этого добиться?
Ответы:
Вам не нужно. Добавьте каталог
/etc/ld.so.conf
или новый файл в/etc/ld.so.conf.d/
зависимости от дистрибутива.После этого вы должны запустить (по крайней мере на Redhat)
ldconfig
от имени пользователя root.В качестве предостережения, вы должны быть осторожны, какие библиотеки вы добавляете в системный путь к общей библиотеке (через среду, ld.so.conf или вставляя в / usr / local / lib). В частности, вы остерегаетесь двух разных версий одной и той же библиотеки с одним и тем же именем. Например, если у вас есть libfoo.0.1 (soname libfoo.0), установленная через dpkg / rpm / etc., Вам не нужен libfoo.0.2 (также soname libfoo.0) в каталоге пользовательских библиотек.
(На самом деле не так-то просто получить общесистемную переменную среды. Вы можете получить большинство пользовательских входов в систему
/etc/environment
. Сценарии будут зависеть от вашей системы инициализации, но (например) с sysv init в Debian вы можете вставить его/etc/default/rcS
. бегите прямо из inittab, ну, я не думаю, что вы можете.)источник
Вы можете добавить каждый путь в файл, а
/etc/ld.so.conf.d
затем запустить:Затем загрузите их.
источник