Saya mengalami beberapa kesulitan memahami perbedaan antara PATH
dan LD_LIBRARY_PATH
. Saya memiliki pengaturan instalasi yang memerlukan file pkg.tcl dan saya tidak bisa menambahkan path ke sana: haruskah ke PATH
atau LD_LIBRARY_PATH
?
27
TCLLIBPATH
. Maaf, saya tidak punya argumen. Hanya sebuah petunjuk.Jawaban:
Sistem Unix cenderung diatur dengan berbagai jenis file yang tersebar di berbagai direktori. Misalnya, executables biasanya di direktori yang disebut
bin
(/bin
,/usr/bin
,/usr/local/bin
, ...); secara historis,bin
singkatan dari binary, karena executable adalah binari (kode mesin), tetapi bisa juga ada skrip. Karena ada beberapa direktori yang berisi file executable, dan berguna untuk menambah dan menghapus direktori dengan cepat (misalnya untuk menguji aplikasi multi-executable, Anda menambahkan sementara ke jalur pencarian untuk file executable), ada variabel lingkungan untuk itu:PATH
. Ketika Anda menjalankan sebuah program dengan memberikan namanya, shell mencarinya di direktori yang disebutkan dalamPATH
variabel (itu adalah daftar direktori yang dipisahkan oleh titik dua).Mekanisme yang sama ada untuk jenis file lain yang beberapa program akan mencari berdasarkan nama. Berikut adalah beberapa
PATH
variabel mirip- khas (perhatikan bahwa jalur contoh yang saya berikan tidak persis apa yang akan Anda temukan di sistem Anda, hanya ada di sana untuk memberikan gagasan).PATH
: executable (misal/home/username/bin:/usr/local/bin:/usr/bin:/bin
).MANPATH
: halaman manual (mis/usr/local/man:/usr/man
.).LD_LIBRARY_PATH
: Kode perpustakaan asli (di Linux, selain nilai variabel ini, jalan lookup biasanya berisi/usr/local/lib
,/usr/lib
,/lib
dan beberapa orang lainnya). NamaLD
berasal dari dinamis l oa d er , komponen sistem yang beban perpustakaan ke executable terkait secara dinamis .PERL5LIB
: Perpustakaan Perl (misalnya/usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl
).PYTHONPATH
: Python libraries (eg/usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6
).TCLLIBPATH
: Perpustakaan TCL (mis/usr/local/lib/tcltk:/usr/lib/tcltk
.).Jadi jika Anda
pkg.tcl
adalah executable mandiri, berikan izin eksekusi dan letakkan di suatu tempat di$PATH
. Jika itu adalah perpustakaan TCL yang dimuat oleh program TCL, letakkan di suatu tempat di$TCLLIBPATH
.sumber
PATH
adalah untuk menentukan direktori program yang dapat dieksekusi.LD_LIBRARY_PATH
digunakan untuk menentukan direktori perpustakaan.sumber
PATH
digunakan terutama oleh shell, sedangkanLD_LIBRARY_PATH
digunakan oleh loader dinamis (biasanyald-linux.so
).