Localizando todos os arquivos vinculados a uma biblioteca específica no Linux

1

Eu poderia escrever um script para fazer uma combinação de find, ldd e grep, mas queria descobrir se há uma maneira melhor.

Por exemplo, se a biblioteca for /usr/lib/libmhash.so.2, gostaria de saber todos os binários no sistema que se vinculam a ela.

    
por slowpoison 13.01.2014 / 23:45

1 resposta

0

Eu não sei de uma maneira padrão de fazer isso sem inspecionar todos os binários. O que você pode fazer, embora não seja a mesma coisa, é olhar para as informações de dependência em seu gerenciador de pacotes. Se você estiver usando uma distro baseada no Debian, apt-cache showpkg <package> mostrará, entre outras coisas, "dependências reversas" - uma lista de todos os pacotes que dependem desse pacote.

Por exemplo, os seguintes pacotes dependem de libmhash2 no meu sistema:

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

Claro, isso não lhe diz sobre binários específicos, mas pode resolver o seu problema (ou pelo menos o de outra pessoa). Caso contrário, você sempre poderá usar find / ldd / grep .

    
por 14.01.2014 / 00:55