LD_LIBRARY_PATH
시스템 서비스와 모든 사용자에게 내보내고 싶습니다 . 시스템 서비스는 로그인 전에 실행되므로 이는 .bashrc
적용되지 않습니다.
이 목표를 달성하는 방법은 무엇입니까?
답변1
필요하지 않습니다. 배포판에 따라 디렉터리 /etc/ld.so.conf
나 새 파일을 추가합니다./etc/ld.so.conf.d/
그런 다음 (적어도 Redhat에서는) 루트로 실행해야 합니다 ldconfig
.
시스템 공유 라이브러리 경로(ld.so.conf 환경을 통해 또는 /usr/local/lib)에 어떤 라이브러리를 추가할지 주의해야 합니다. 특히, 동일한 이름을 가진 동일한 라이브러리의 두 가지 다른 버전에 주의해야 합니다. 예를 들어, dpkg/rpm/etc를 통해 libfoo.0.1(소명 libfoo.0)을 설치한 경우 libfoo.0.2(소명 libfoo.0)가 사용자 정의 라이브러리 디렉토리에 존재하는 것을 원하지 않습니다.
(사실 시스템 전반에 걸친 환경 변수를 구현하는 것은 그리 쉽지 않습니다. 를 사용하여 inittab에서 직접 실행할 /etc/environment
수 있습니다 /etc/default/rcS
. 글쎄, 불가능할 것 같습니다.)
답변2
파일에 각 경로를 추가한 후 다음 /etc/ld.so.conf.d
을 실행할 수 있습니다.
ldconfig -v
그런 다음 로드하십시오.