como usar o comando LDD no Linux

querendo saber como usar o comando LDD no Linux?

o Linux oferece ampla flexibilidade, pois permite ajustar seu sistema de acordo com suas necessidades. Isso significa que você pode operar facilmente seu sistema através do Terminal. Além disso, você pode controlar vários parâmetros e verificar os arquivos compartilhados e usados por diferentes programas em seu sistema.

um comando, em particular, permite reconhecer as bibliotecas usadas por um determinado programa sob inspeção. Este é o comando LDD desenvolvido por Roland McGrath e Ulrich Drepper.

LDD (list dynamic Dependencies) facilita o usuário a identificar as dependências da biblioteca que estão sendo compartilhadas em vários arquivos executáveis.

este guia irá ajudá-lo a aprender como usar o comando LDD no Linux.

então, sem mais delongas, vamos começar!

tipos de Bibliotecas.

Uma biblioteca é um conjunto bem definido de funções, objetos, variáveis, classes, tipo especificações, condições e sub-rotinas que determinam as operações de arquivos e programas, sem ter de manter o código-fonte.

existem três tipos de bibliotecas:

  1. bibliotecas dinâmicas: são bibliotecas usadas por programas compilados em menor escala. Como o nome indica, ele é carregado dinamicamente no momento da execução, portanto, uma única cópia é usada dinamicamente para executar vários programas.

isso reduz o consumo de memória, minimizando assim o tamanho do programa e melhorando o desempenho. Eles geralmente têm extensões” .so“.

  1. bibliotecas estáticas: essas bibliotecas são usadas por programas completos. Eles vinculam programas sem recompilar o código – fonte, economizando tempo. Essas bibliotecas são incluídas separadamente nos arquivos de programas que exigem suas funções. Eles geralmente são seguidos por uma extensão” .a“.
  2. bibliotecas compartilhadas: são bibliotecas instaladas individualmente que são usadas automaticamente por programas após a instalação. Eles podem substituir partes específicas de uma biblioteca pré-existente quando o programa está executando determinadas tarefas. Além disso, eles podem ser usados em tempo de execução com nosso código ou programa.

a maioria dos arquivos executáveis que usamos no dia-a-dia contém bibliotecas compartilhadas. O comando LDD lista as dependências da biblioteca dinâmica. Essas bibliotecas são reutilizadas e compartilhadas entre programas para facilitar o desenvolvimento de programas e reduzir seu tamanho e carga na memória do computador.

no Linux, esses arquivos estão na forma de uma extensão” .so ” e estão armazenados em /usr/lib* ou simplesmente /lib*.

várias distribuições de sistemas Linux podem empacotar um conjunto diferente de bibliotecas para um programa, fazendo com que funcione de forma diferente em diferentes versões do sistema operacional. Quando uma biblioteca compartilhada para um programa não está disponível no seu sistema, você receber um erro semelhante à seguinte:

Sudo: error while loading shared libraries: libpthread.so.0:Cannot open shared object file: no such file or directory.

podemos, então, verificar as bibliotecas compartilhadas para um determinado programa usando o comando LDD.

Instalando o comando LDD.

o comando LDD está inerentemente disponível em quase todas as distribuições Linux. Caso não seja, você pode usar o seguinte comando para instalá-lo:

$ sudo apt-get install libc-bin

O $ ldd comando tem a seguinte sintaxe:

$ ldd <options> <executable>

Ou, mais geralmente,:

$ ldd -v /path/to/program/executable

LDD é um simples, mas poderoso comando. Ele oferece ajuda e outras variações usando diferentes sinalizadores. Eles são brevemente descritos abaixo.

ion : para exibir a versão ldd atualmente em uso.

-v --verbose: para exibir informações intrincadamente.

-u --unused: para exibir dependências não utilizadas.

-d --data-relocs: para realocar e identificar objetos ausentes.

-r --function-relocs: para realocar objetos e funções de dados, bem como identificar funções ou objetos ausentes.

-help: para fornecer ajuda sobre o uso do comando.

usando o comando LDD.

agora que você concluiu a instalação, você está pronto para aprender a usar o comando LDD no Linux. Vamos demonstrar isso junto com como isso ajuda a identificar bibliotecas compartilhadas.

vamos olhar para as bibliotecas compartilhadas para Bash, o shell padrão no Linux. É responsável por executar comandos e fornecer uma interface entre o Usuário e o sistema operacional.

para usar o comando LDD, siga estas etapas:

  1. comece abrindo o Terminal de comando pressionando Ctrl + Alt + T no teclado.
  2. em seguida, localize o caminho usando o which ou whereis comando seguido do comando LDD, digitando o seguinte:
$ which bash$ whereis bash$ ldd /usr/bin/bash
Comando LDD em Linux

Como você pode ver, a biblioteca partilhada dependências são visíveis. Para uma visão geral detalhada e mais complexa, use o sinalizador -v com o comando $ ldd da seguinte forma:

$ ldd -v /usr/bin/bash
comando LDD no Linux

da mesma forma, podemos usar o sinalizador -u para exibir as dependências não utilizadas.

$ ldd -u /usr/bin/bash
-bandeira u

No caso acima, não há dependências não utilizadas. É sempre aconselhável manter o controle sobre quais bibliotecas estão ociosas e consumindo memória. Não fazer isso pode carregar seu kernel com arquivos não utilizados, consequentemente dificultando o desempenho. Seria útil verificar nosso artigo sobre como liberar espaço no Ubuntu.

para as realocações de dados e funções, usamos os sinalizadores -d e -r, respectivamente, ao lado do comando $ ldd.

$ ldd -d /usr/bin/bash$ ldd -r /usr/bin/bash
comando LDD no Linux

esses sinalizadores também ajudam a identificar objetos e funções ausentes.

por último, mas não menos importante, podemos usar o sinalizador --help para uma consulta rápida sobre os sinalizadores e suas respectivas ações.

--bandeira de Ajuda

limitações do comando LDD.

deve ser destacado que o comando LDD não trabalhar em programas que não são dinamicamente executável, “a.out” bibliotecas compartilhadas ou arquivos que estão desatualizados ou foram desenvolvidos antes do LDD saiu.

Finalmente, é aconselhável que os comandos LDD não devem ser usados com fontes não confiáveis, pois podem resultar em erros e exceções abruptas.

a página de manual para LDD sugere um comando alternativo que é composto por objdump e grep utilitários.

 ~/$objdump -p /path/program/grep NEEDED

LDD é uma daquelas instruções prejudicadas que, se usadas da maneira certa, podem fazer uma diferença substancial em sua interação com o sistema operacional. É um poderoso comando de vinculação com um propósito específico e definitivamente oferece. Para obter mais detalhes sobre o comando e seu uso, você pode acessar a página man para o comando LDD.

Leave a Reply