LDD - Obtendo bibliotecas requeridas por uma programa

LDD - Obtendo bibliotecas requeridas por uma programa

ldd imprime os objetos compartilhados (bibliotecas compartilhadas) exigidos por cada programa ou objeto compartilhado especificado na linha de comando. Um exemplo de seu uso e saída é o seguinte:

O LDD informa as bibliotecas compartilhadas exigidas por cada programa especificado, seu uso é bastante simples e trás informações como;

Nome da biblioteca

Localização

Localização hexadecimal (onde ele está carregado)

Exemplo de saída do binário ssh

image-20210502075713629

Você também pode usar o comando which, para capturar o local do programa e obter as suas bibliotecas compartilhadas dessa forma

ldd  $(which  rsync)

Outra dica interessante é usar esse comando acima para fazer cópias das bibliotecas utilizadas, isso é útil quando você não tem acesso a instalar aplicações em algum host, então você faz o uso de uma programa “portável”.

Esse primeiro comando lista a localização das bibliotecas utilizadas pelo rsync

mkdir ~/rsync
cp $(ldd  $(which  rsync) | cut -d">" -f2 | cut -d"(" -f1) ~/rsync

perceba que agora temos todas a bibliotecas requeridas pelo rsync em nosso diretório pessoal.

ls -l ~/rsync

image-20210502081137778

Obviamente essa não é maneira mais adequada para se utilizar uma programa portável (onde não há necessidade de instalação), mas é uma técnica, uma gambiarra para driblar a falta de permissão de instalação em determinados ambientes.

Posted on