Quero exportar LD_LIBRARY_PATH
para serviços do sistema e todos os usuários. Os serviços do sistema são executados antes do login, portanto, .bashrc
não é aplicável.
Como conseguir isso?
Quero exportar LD_LIBRARY_PATH
para serviços do sistema e todos os usuários. Os serviços do sistema são executados antes do login, portanto, .bashrc
não é aplicável.
Como conseguir isso?
Respostas:
Você não precisa. Adicione o diretório
/etc/ld.so.conf
ou um novo arquivo/etc/ld.so.conf.d/
, dependendo da distribuição.Depois disso, você deve executar (pelo menos no Redhat)
ldconfig
como root.Como uma palavra de cautela, você precisa ter cuidado com as bibliotecas adicionadas ao caminho da biblioteca compartilhada do sistema (por meio do ambiente, ld.so.conf ou colocando / usr / local / lib). Em particular, você deve tomar cuidado com duas versões diferentes da mesma biblioteca com o mesmo soname. Por exemplo, se você possui um libfoo.0.1 (soname libfoo.0) instalado via dpkg / rpm / etc., Não deseja um libfoo.0.2 (também soname libfoo.0) em seu diretório de biblioteca personalizado.
(Na verdade, não é tão fácil obter uma variável de ambiente em todo o sistema. Você pode obter a maioria dos logins de usuários
/etc/environment
. Os scripts dependerão do seu sistema init, mas (por exemplo) com sysv init no Debian, você pode colocá-lo/etc/default/rcS
. fugir direto do inittab, bem, acho que você não pode.)fonte
Você pode adicionar todos os caminhos no arquivo
/etc/ld.so.conf.d
e executar:Depois carregue-os.
fonte