LD_LIBRARY_PATH를 모든 사용자 및 시스템 서비스로 내보내는 방법

LD_LIBRARY_PATH를 모든 사용자 및 시스템 서비스로 내보내는 방법

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 

그런 다음 로드하십시오.

관련 정보