PATHとLD_LIBRARY_PATHの違いは何ですか?


27

私は違いを理解いくつかの困難が午前PATHとをLD_LIBRARY_PATH。私は、ファイルpkg.tclを必要とインストールのセットアップを持っており、それにパスを追加する場所を私はしませんよ。それはにする必要がありますPATHLD_LIBRARY_PATH


あなたのインストールの問題に関して、個人的に私はに賭けるでしょうTCLLIBPATH。申し訳ありませんが、議論はありません。ちょっとしたヒント。
マナトワーク

回答:


30

Unixシステムは、さまざまなタイプのファイルがさまざまなディレクトリに分散して編成される傾向があります。たとえば、実行ファイルと呼ばれるディレクトリに通常、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:ネイティブコードライブラリ(Linuxでは、この変数の値に加えて、検索パスは通常含まれ/usr/local/lib/usr/lib/libおよびいくつかの他)。名前がLD由来動的L OA D ERにロードライブラリするシステムコンポーネント、動的にリンクされた実行可能ファイル
  • 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)で使用されます。
マナトワーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.