PATH와 LD_LIBRARY_PATH의 차이점은 무엇입니까?


27

나는 사이의 차이를 이해하는 어려움 데 PATHLD_LIBRARY_PATH. 나는 파일 pkg.tcl을 필요로하는 설치 설정을하고 난하지 곳의 경로를 추가하는 방법입니다 : 그것은에해야한다 PATHLD_LIBRARY_PATH?


설치 문제와 관련하여 개인적으로 베팅합니다 TCLLIBPATH. 죄송합니다. 논쟁이 없습니다. 힌트 만.
manatwork

답변:


30

유닉스 시스템은 다른 디렉토리에 다른 유형의 파일로 구성되는 경향이 있습니다. 예를 들어, 실행이라는 디렉토리에 보통 bin( /bin, /usr/bin, /usr/local/bin, ...); 역사적으로 bin실행 파일은 바이너리 (머신 코드)이지만 스크립트도있을 수 있기 때문에 바이너리 에 섰습니다. 실행 파일이 포함 된 여러 디렉토리가 있으며 즉석에서 디렉토리를 추가 및 제거하는 것이 유용하므로 (예 : 다중 실행 응용 프로그램을 테스트하기 위해 일시적으로 실행 파일의 검색 경로에 추가) 환경 변수가 있습니다. PATH. 프로그램 이름을 지정하여 프로그램을 실행하면 쉘은 PATH변수에 언급 된 디렉토리에서 콜론으로 구분 된 디렉토리 목록 에서 프로그램을 찾습니다 .

일부 프로그램이 이름으로 검색 할 다른 유형의 파일에도 동일한 메커니즘이 있습니다. 다음은 몇 가지 일반적인 PATH유사 변수입니다 (내가 제공하는 예제 경로는 시스템에서 찾을 수있는 것이 아니라 아이디어를 제공 할 수 있음).

  • PATH: 실행 파일 (예를 들어 /home/username/bin:/usr/local/bin:/usr/bin:/bin).
  • MANPATH: 매뉴얼 페이지 (예 :) /usr/local/man:/usr/man.
  • LD_LIBRARY_PATH: 네이티브 코드 라이브러리 (리눅스,이 변수의 값 이외에, 조회 경로는 일반적으로 포함 /usr/local/lib, /usr/lib, /lib그리고 몇 가지 다른). 이름 LD에서 유래 동적 리터의 OA 기기 개발 시스템 구성 요소, 즉에로드 라이브러리를 동적으로 링크 된 실행 파일 .
  • PERL5LIB: Perl 라이브러리 (예 :) /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl.
  • PYTHONPATH: Python 라이브러리 (예 :) /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6.
  • TCLLIBPATH: TCL 라이브러리 (예 :) /usr/local/lib/tcltk:/usr/lib/tcltk.

따라서 pkg.tcl독립형 실행 파일 인 경우 실행 권한을 부여하고에 어딘가에 놓으십시오 $PATH. TCL 프로그램에 의해로드 된 TCL 라이브러리 인 경우에 위치하십시오 $TCLLIBPATH.


23

PATH실행 가능한 프로그램의 디렉토리를 지정하기위한 것입니다. LD_LIBRARY_PATH라이브러리의 디렉토리를 지정하는 데 사용됩니다.


5
다른 관점에서는 PATH주로 셸에서 LD_LIBRARY_PATH사용하고 동적 로더 (일반적으로 ld-linux.so)에서 사용합니다.
manatwork
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.