Znajdowanie wszystkich plików, które prowadzą do określonej biblioteki w systemie Linux

1

Mógłbym napisać skrypt wykonujący kombinację find, ldd i grep, ale chciałem dowiedzieć się, czy jest lepszy sposób.

Na przykład, jeśli biblioteką jest /usr/lib/libmhash.so.2, chciałbym poznać wszystkie pliki binarne w systemie, które się do niej prowadzą.

slowpoison
źródło

Odpowiedzi:

0

Nie znam standardowego sposobu na zrobienie tego bez sprawdzania każdego pliku binarnego. Co możesz zrobić, choć nie jest to dokładnie to samo, spójrz na informacje o zależnościach w menedżerze pakietów. Jeśli używasz dystrybucji opartej na Debianie, apt-cache showpkg <package>pokaże między innymi „odwrotne zależności” - listę wszystkich pakietów, które zależą od tego pakietu.

Na przykład następujące pakiety zależą libmhash2od mojego systemu:

Reverse Depends: 
  libmhash2:i386,libmhash2
  yubiserver,libmhash2
  wxhexeditor,libmhash2
  wit,libmhash2
  vdetelweb,libmhash2
  thunar-gtkhash,libmhash2
  steghide,libmhash2
  python-mhash-dbg,libmhash2
  python-mhash,libmhash2
  proxytunnel,libmhash2
  passwordmaker-cli,libmhash2
  nd,libmhash2
  nautilus-gtkhash,libmhash2
  mcrypt,libmhash2 0.8.16-1
  mbuffer,libmhash2
  libgringotts2,libmhash2
  libcsync0,libmhash2
  gtkhash,libmhash2
  cd5,libmhash2
  aide-dynamic,libmhash2
  librasqal3,libmhash2
  libmhash-dev,libmhash2 0.9.9.9-2

Oczywiście nie mówi ci to o konkretnych plikach binarnych, ale może rozwiązać Twój problem (a przynajmniej kogoś innego). Jeśli nie, zawsze możesz użyć find/ ldd/ grep.

użytkownik55325
źródło