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
라이브러리의 디렉터리를 지정하는 데 사용됩니다.