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

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

PATH사이의 차이점을 이해하는 데 약간의 어려움이 있습니다 LD_LIBRARY_PATH. pkg.tcl 파일이 필요한 설치 설정이 있지만 해당 경로를 어디에 추가해야 할지 모르겠습니다. PATH또는 이어야 합니까 LD_LIBRARY_PATH?

답변1

Unix 시스템은 다양한 디렉토리에 다양한 유형의 파일을 배포하는 경향이 있습니다. 예를 들어, 실행 파일은 일반적으로 bin( /bin, /usr/bin, /usr/local/bin, ...)이라는 이름의 디렉터리에 있습니다. 역사적으로 실행 bin파일은 바이너리 파일(기계어 코드)이므로 이는 바이너리를 의미하지만 스크립트도 있을 수 있습니다. 실행 파일이 포함된 디렉터리가 여러 개 있고 디렉터리를 동적으로 추가 및 제거하는 것이 유용하므로(예를 들어 다중 실행 가능 응용 프로그램을 테스트하려면 실행 파일의 검색 경로에 임시로 추가할 수 있음) 환경 변수가 있습니다. PATH. 이름을 지정하여 프로그램을 실행하면 쉘은 변수에 언급된 디렉토리 PATH(콜론으로 구분된 디렉토리 목록)에서 해당 프로그램을 찾습니다.

일부 프로그램이 이름으로 검색하는 다른 유형의 파일에도 동일한 메커니즘이 존재합니다. 다음은 몇 가지 일반적인 PATH유사한 변수입니다(제가 제공하는 예제 경로는 단지 아이디어를 제공하기 위해 시스템에서 찾을 수 있는 경로와 정확히 일치하지 않습니다).

  • PATH: 실행 파일(예 /home/username/bin:/usr/local/bin:/usr/bin:/bin: )입니다.
  • MANPATH:man 페이지(예 /usr/local/man:/usr/man: ).
  • LD_LIBRARY_PATH: 네이티브 코드 베이스(Linux에서는 일반적으로 검색 경로에 /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.

답변2

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

관련 정보