Se você quiser pegá-los todos, não há outra escolha a não ser percorrer todo o sistema de arquivos. ldconfig
sabe apenas sobre as bibliotecas nos caminhos padrão e os caminhos extras para os quais está configurada para procurar (geralmente definidos em /etc/ld.so.conf*
). Os locais suspeitos usuais onde outras bibliotecas podem ser encontradas são $HOME
e /opt
, embora não haja limite, especialmente quando as pessoas criam aplicativos por conta própria.
Se você não confiar na saída de ldconfig -p
, poderá analisar seu cache diretamente. É binário, mas usar strings
remove todo o lixo (5 so / lib / matches):
strings -n5 /etc/ld.so.cache
No meu sistema, ambos fornecem os mesmos resultados, o que verifiquei com essa rapidez:
a=$(ldconfig -p | awk -F'> ' '{print $2}' | sort); # get them to the same format
b=$(strings -n5 /etc/ld.so.cache | sort -u);
echo -e "$a\n$b\n$b" | sort | uniq -u
Que verificou se alguma biblioteca na lista ldconfig -p
não foi mencionada no cache. Nada foi retornado.