Jawaban:
Untuk melakukan ini dalam mode * distro-independent Anda dapat menggunakan ldconfig dengan grep, seperti ini:
ldconfig -p | grep libjpeg
Jika libjpeg tidak diinstal, tidak akan ada output. Jika diinstal, Anda akan mendapatkan garis untuk setiap versi yang tersedia.
Ganti libjpeg dengan perpustakaan mana pun yang Anda inginkan, dan Anda memiliki cara generik, bebas distro * untuk memeriksa ketersediaan perpustakaan.
Jika karena alasan tertentu jalur ke ldconfig tidak disetel, Anda dapat mencoba menjalankannya menggunakan jalur lengkapnya, biasanya /sbin/ldconfig
.
** 99% dari waktu *
bash: ldconfig: command not found
pada Debian x64 Jessie dengan xfce! Ini adalah rilis debian yang direkomendasikan di situs debian ...
ldconfig
tidak tersedia ( command not found
muncul) jika Anda mencoba menjalankannya tanpa menjadi pengguna super.
/sbin/ldconfig -p
bekerja untuk saya tanpa harus menjadi root.
Anda dapat memeriksa dengan manajer paket distribusi Anda (aptitude, yum, ...) tetapi karena Anda tidak memberikan distribusi Anda, saya tidak dapat memberi Anda perintah yang tepat.
Cara lain dapat dijalankan gcc -ljpeg
, jika Anda mendapatkan 'ld: library tidak ditemukan untuk -ljpeg' itu berarti bahwa gcc belum menemukan perpustakaan (tetapi itu tidak berarti itu tidak diinstal), jika Anda mendapatkan sesuatu seperti 'Simbol tidak terdefinisi : "_main", dirujuk dari: ... 'itu berarti libjpeg telah ditemukan.
locate libjpeg; ls /usr/lib/libjpeg*; ls /lib/libjpeg*
ada beberapa cara lain untuk menemukan apakah lib di instal di sistem
Ada banyak cara lain untuk memeriksa itu, jika Anda memberi kami lebih banyak konteks (mengapa Anda perlu memeriksa apakah libjpeg diinstal) kami dapat memberikan solusi terbaik untuk kasus spesifik Anda.
Saya menggunakan utilitas whereis .
Sampel:
l1feh4ck3r@xxx:~$ whereis libjpeg
libjpeg: /usr/lib/libjpeg.so /usr/lib/libjpeg.a /usr/lib/libjpeg.la
Untuk distribusi berbasis deb bisa Anda lakukan
dpkg -s packagename
Atau jika Anda hanya tahu nama filenya, gunakan
locate filename
Nama file biasanya libsomething.so [.version].
dpkg -s
keterbatasan dalam utilitas, karena menginginkan nama paket yang sebenarnya, yang mungkin berbeda secara halus atau signifikan dari perpustakaan itu sendiri. Saya menggunakandpkg -s|grep LIBRARY
Pada sistem berbasis Redhat, seseorang dapat menggunakan pkg-config untuk memverifikasi apakah pustaka diinstal atau tidak. Banyak binari rpm yang benar-benar melakukan pemeriksaan yang sama sebelum melanjutkan dengan instalasi, jadi kita dapat mengandalkan kebenarannya.
pkg-config --cflags jpeg
pkg-config --libs jpeg
pkg-config --cflags "jpeg >= 1.0.0" # for version check
pkg-config --modversion jpeg | awk -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }' #version check
Ini dilakukan oleh alat konfigurasi di linux setiap saat.
Lihatlah Tutorial ini tentang autoconf dan KDevelop .
Trik lain akan menggunakan perintah seperti ldconfig
dan dpkg
.
Anda juga dapat mencoba menggunakan dpkg untuk memeriksa apakah sudah diinstal.
dpkg --list | grep [some_key_words_of_your_lib]
Selain itu, pada CentOS, Anda dapat mencoba ini.
rpm -qa [lib_name]
pkg-config
saja.