Como usar o comando LDD no Linux

Como usar o comando LDD no Linux

Nos sistemas Linux, trabalhamos constantemente com arquivos executáveis ​​nos aplicativos terminais ou gráficos. Os executáveis ​​contêm bibliotecas compartilhadas, que são arquivos compartilhados e reutilizados entre os programas. No Windows, estes geralmente estão na forma de arquivos DDL. No Linux, no entanto, eles estão na forma de .o ou .então arquivos.

Este guia mostrará como usar o utilitário de linha de comando LDD para mostrar objetos compartilhados e as dependências em um executável.

O que é LDD

LDD é uma poderosa ferramenta de linha de comando que permite que os usuários visualizem as dependências de objeto compartilhado de um arquivo executável. Uma biblioteca refere-se a um ou mais recursos pré-compilados, como funções, sub-rotinas, classes ou valores. Cada um desses recursos é combinado para criar bibliotecas.

No Linux, os arquivos da biblioteca são comumente localizados nos diretórios /lib ou /usr /lib. As bibliotecas ajudam a economizar tempo porque os programas podem redirecionar e usá -los como acharem adequados.

Existem dois tipos de bibliotecas:

  • Bibliotecas estáticas
  • Bibliotecas dinâmicas ou compartilhadas

Como instalar o comando LDD

Normalmente, você encontrará o comando LDD disponível em quase qualquer distribuição Linux. No entanto, caso não esteja disponível, você pode instalá -lo usando o comando:

sudo apt-get install libc-bin

Com o comando instalado, podemos começar a usá -lo.

Uso do comando BASIC LDD

A sintaxe geral para o comando LDD é bem direta. Por padrão, a execução do comando LDD mostra as dependências de objeto compartilhado.

A sintaxe é como:

LDD [Opções] executável

Por exemplo, para mostrar as dependências compartilhadas da biblioteca do binário Bash, usamos o comando:

sudo ldd /bin /bash

O comando acima mostra as dependências como:

A primeira seção mostra um objeto compartilhado dinâmico virtual (VDSO). A segunda linha mostra o caminho do intérprete de elfo que é codificado no executável, e a parte final mostra a memória na qual a biblioteca é carregada.

Opções de LDD

Usamos opções de LDD para modificar o comportamento do comando. As opções suportadas incluem:

  • -v - Modo detalhado, que imprime todas as informações.
  • -você - Mostra dependências diretas não utilizadas
  • -d - Executa a realocação de dados e mostra objetos de ELF ausentes.
  • -r - Executa a realocação de dados e funções e mostra objetos e funções de ELF ausentes.

Mostrar saída detalhada

Para mostrar as dependências de um binário com informações detalhadas, podemos passar o sinalizador -v para o comando LDD como:

sudo ldd -v /bin /bash

LDD Show dependências diretas não utilizadas

Mostre dependências diretas não utilizadas com a bandeira -u como:

sudo ldd -u /bin /grep

OBSERVAÇÃO: LDD funciona apenas com executáveis ​​dinâmicos. Se usado em um executável não dinâmico, ele exibirá um erro como:

sudo ldd -v /bin /ldd

Para concluir

Este tutorial abordou como usar o comando LDD no Linux e obter informações de dependência da biblioteca compartilhada para executáveis ​​dinâmicos. Se você aprendeu algo com este tutorial, compartilhe -o com outras pessoas.

Se você estiver procurando informações detalhadas, considere as seguintes páginas do homem:

  • https: // man7.org/linux/man-páginas/man1/ldd.1.html
  • https: // man7.org/linux/man-páginas/man7/vdso.7.html
  • https: // man7.org/linux/man-páginas/man7/libc.7.html
  • https: // man7.org/linux/man-páginas/man8/ld.então.8.html