Chcę eksportować LD_LIBRARY_PATH
do usług systemowych i wszystkich użytkowników. Usługi systemowe są uruchamiane przed zalogowaniem, więc .bashrc
nie dotyczy.
Jak to osiągnąć?
Chcę eksportować LD_LIBRARY_PATH
do usług systemowych i wszystkich użytkowników. Usługi systemowe są uruchamiane przed zalogowaniem, więc .bashrc
nie dotyczy.
Jak to osiągnąć?
Odpowiedzi:
Nie musisz. Dodaj katalog do
/etc/ld.so.conf
lub nowy plik, w/etc/ld.so.conf.d/
zależności od dystrybucji.Następnie musisz uruchomić (przynajmniej na Redhat)
ldconfig
jako root.Ostrzegając, musisz uważać, które biblioteki dodajesz do ścieżki do bibliotek współużytkowanych w systemie (przez środowisko, ld.so.conf lub umieszczając / usr / local / lib). W szczególności wystrzegasz się dwóch różnych wersji tej samej biblioteki z tą samą soname. Na przykład, jeśli masz bibliotekę libfoo.0.1 (soname libfoo.0) zainstalowaną za pomocą dpkg / rpm / etc., Nie chcesz libfoo.0.2 (również soname libfoo.0) w swoim niestandardowym katalogu biblioteki.
(W rzeczywistości nie jest tak łatwo wyciągnąć ogólnosystemową zmienną środowiskową. Większość logowań użytkownika można uzyskać
/etc/environment
. Skrypty będą zależeć od twojego systemu init, ale (na przykład) z sysv init na Debianie, możesz to wprowadzić/etc/default/rcS
. Wszystko zabrakło inittab, no cóż, nie sądzę, żebyś mógł.)źródło
Możesz dodać każdą ścieżkę do pliku,
/etc/ld.so.conf.d
a następnie uruchomić:Następnie załaduj je.
źródło