GNU/Linux >> Linux Esercitazione >  >> Linux

"quale" equivalente per le biblioteche condivise?

Sto cercando un'utilità che si comporti allo stesso modo di which , ma per cercare le librerie condivise (*.so) nelle directory definite in $LD_LIBRARY_PATH?

Risposta accettata:

Se hai un eseguibile e vuoi vedere dove sta prelevando le librerie, esegui

ldd /path/to/executable

Ciò terrà conto delle librerie nel percorso di ricerca predefinito e delle librerie nel percorso di questo eseguibile, se presenti.

Su Linux, i percorsi delle librerie di sistema vengono memorizzati nella cache per motivi di efficienza. /sbin/ldconfig -p mostra il contenuto della cache (è memorizzato in /etc/ld.so.cache ). Ecco uno script che mostra le posizioni di una libreria:

#!/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. Errore durante il caricamento delle librerie condivise libcrypto.so.1.1 – OpenSSL [fissare]

  2. Profondità massima equivalente per Find in Aix?

  3. Rimozione delle librerie condivise di Linux

  4. Meccanismi di blocco per la consistenza della memoria condivisa

  5. Come verificare quali librerie condivise vengono caricate in fase di esecuzione per un determinato processo?

Rileva librerie condivise obsolete in memoria con UChecker

Come elencare le librerie condivise utilizzate dagli eseguibili in Linux

Dipende.exe per GNU/Linux

Equivalente/Alternativo per Alt+Punto in Mac

Qual è un equivalente moderno per fumare?

Equivalente di Process Monitor per Linux?