GNU/Linux >> Belajar Linux >  >> Linux

Setara dengan “yang mana” untuk Pustaka Bersama?

Saya mencari utilitas yang akan berperilaku dengan cara yang sama seperti which , tetapi untuk mencari pustaka bersama (*.so) di direktori yang ditentukan dalam $LD_LIBRARY_PATH?

Jawaban yang Diterima:

Jika Anda memiliki executable dan Anda ingin melihat di mana ia mengambil library, jalankan

ldd /path/to/executable

Ini akan memperhitungkan pustaka di jalur pencarian default serta pustaka di rpath yang dapat dieksekusi ini jika ada.

Di Linux, jalur ke pustaka sistem di-cache untuk efisiensi. /sbin/ldconfig -p menampilkan isi cache (disimpan di /etc/ld.so.cache ). Berikut skrip yang menunjukkan lokasi perpustakaan:

#!/bin/sh
if [ -n "$LD_LIBRARY_PATH" ]; then
  set -f
  IFS=:
  for d in $LD_LIBRARY_PATH; do
    if [ -e "$d/$1" ]; then echo "$1"; fi
  done
fi
/sbin/ldconfig -p |
awk -v needle="$1" '$1 == needle {sub(/.* => /, ""); print}'

Linux
  1. Kesalahan memuat pustaka bersama libcrypto.so.1.1 – OpenSSL [Perbaiki]

  2. Mengunci mekanisme untuk konsistensi memori bersama

  3. memeriksa pustaka bersama untuk pemuat non-default

  1. Untuk apa opsi 'soname' untuk membangun perpustakaan bersama?

  2. kesalahan saat memuat pustaka bersama:libncurses.so.5:

  3. Irfanview setara terdekat untuk linux

  1. Apakah ada yang setara dengan cd - untuk cp atau mv?

  2. Apa padanan modern untuk merokok?

  3. arping setara untuk IPv6