O uso do comando LDD, útil para o Slackware

Publicado por Mauricio Ferrari em 22/04/2020

[ Hits: 2.532 ]

Blog: https://www.youtube.com/@LinuxDicasPro

 


O uso do comando LDD, útil para o Slackware



Geralmente, se você estiver iniciando no Slackware, o comando ldd será muito importante para a detecção de programas com dependências faltantes, principalmente se você optar por instalar pacotes já prontos através da ferramenta pkgtool (installpkg, upgradepkg) como eu.

Sua utilização é bem simples:

ldd /local/do/programa

Vou usar um exemplo simples.

ldd /usr/bin/mp3gain
linux-vdso.so.1 (0x00007fffd9bc2000)
libm.so.6 => /lib64/libm.so.6 (0x00007f568dfb6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f568dbed000)
/lib64/ld-linux-x86-64.so.2 (0x000055640fc3a000)


Nesse caso seria fácil visualizar caso tivesse uma dependência faltante. Mas, se a saída for muito grande (que seria um programa com muitas dependências), a visualização das dependências se torna difícil. Por isso, filtro a saída com o grep.

ldd /local/do/programa | grep "not found"

Instalei um pacote propositalmente para exemplificação:

ldd /usr/bin/anbox | grep "not found"
/usr/bin/anbox: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /usr/bin/anbox)
libboost_filesystem.so.1.62.0 => not found
libboost_log.so.1.62.0 => not found
libboost_serialization.so.1.62.0 => not found
libboost_thread.so.1.62.0 => not found
libboost_program_options.so.1.62.0 => not found
libboost_date_time.so.1.62.0 => not found
libboost_log_setup.so.1.62.0 => not found
libboost_chrono.so.1.62.0 => not found
libboost_atomic.so.1.62.0 => not found
libsystemd.so.0 => not found
libboost_iostreams.so.1.62.0 => not found
libboost_system.so.1.62.0 => not found
libboost_regex.so.1.62.0 => not found
libprotobuf-lite.so.17 => not found


Não vou mostrar a lista interminável da saída sem o grep (até que esse nem seria tanto). Assim, você decide se você irá recorrer a um novo método para a instalação do programa ou se irá tentar resolver as dependências.

Outra técnica que eu inventei com base nos meu conhecimentos em Shell Script foi de redirecionar a saída para um arquivo. Também pode ser usado:

ldd /local/do/programa | grep "not found" >> /local/da/saida.txt

Outros comandos que eu já rodei foram esses:

ldd /usr/bin/* | grep "not found" >> dep.txt
$ ldd /usr/sbin/* | grep "not found" >> dep.txt


Pode ser usado para verificar o impacto de uma atualização de um pacote nos demais pacotes instalados. Eu particularmente uso esses recursos por causa do repositório do SlackOnly.

Espero que essas dicas sejam de extrema importância para muitos usuários que pretendem aderir ao Slackware.

Mais informações sobre os comandos:
Outras dicas deste autor

Preparando a VM para virtualização do Mac OSX no VirtualBox

Inserindo Opções de Menu de Inicialização no Grub na Mão

Instalando o Java 14 no Ubuntu, Linux Mint e Debian

Letras Bacanas no seu Shell Script sem Figlet

Função para Abrir uma Interface do tkinter no Centro da Tela em Python

Leitura recomendada

Como copiar arquivos mantendo a estrutura de diretórios e sub-diretórios

Rodando o Free Tennis

Converter vídeo para MP4 via terminal Linux

Utilizando o comando scp

Trabalhando com o VI

  

Comentários
[1] Comentário enviado por Nick-us em 10/05/2020 - 15:19h

Bom artigo, vou anotar!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts