Cómo usar el comando LDD en Linux

Cómo usar el comando LDD en Linux

En los sistemas Linux, trabajamos constantemente con archivos ejecutables, ya sea en las aplicaciones terminales o gráficas. Los ejecutables contienen bibliotecas compartidas, que son archivos compartidos y reutilizados en todos los programas. En Windows, estos suelen estar en forma de archivos DDL. En Linux, sin embargo, están en forma de .o o .Entonces los archivos.

Esta guía le mostrará cómo usar la utilidad de línea de comandos LDD para mostrar objetos compartidos y las dependencias en un ejecutable.

Que es ldd

LDD es una poderosa herramienta de línea de comandos que permite a los usuarios ver las dependencias de objetos compartidos de un archivo ejecutable. Una biblioteca se refiere a uno o más recursos precompilados, como funciones, subrutinas, clases o valores. Cada uno de estos recursos se combina para crear bibliotecas.

En Linux, los archivos de la biblioteca se encuentran comúnmente en directorios. Las bibliotecas ayudan a ahorrar tiempo porque los programas pueden reutilizarlas y usarlas como mejor les parezca.

Hay dos tipos de bibliotecas:

  • Bibliotecas estáticas
  • Bibliotecas dinámicas o compartidas

Cómo instalar el comando LDD

Por lo general, encontrará el comando LDD disponible en casi cualquier distribución de Linux. Sin embargo, en caso de que no esté disponible, puede instalarlo utilizando el comando:

sudo apt-get install libc-bin

Con el comando instalado, podemos comenzar a usarlo.

Uso de comando BASIC LDD

La sintaxis general para el comando LDD es bastante sencilla. Por defecto, la ejecución del comando LDD muestra las dependencias de objetos compartidos.

La sintaxis es como:

Ejecutable LDD [Opciones]

Por ejemplo, para mostrar las dependencias de la biblioteca compartida del binario bash, usamos el comando:

sudo ldd /bin /bash

El comando anterior muestra las dependencias como:

La primera sección muestra un objeto compartido dinámico virtual (VDSO). La segunda línea muestra la ruta del intérprete ELF que está codificado en el ejecutable, y la parte final muestra la memoria en la que se carga la biblioteca.

Opciones de LDD

Usamos opciones de LDD para modificar el comportamiento del comando. Las opciones compatibles incluyen:

  • -V - Modo detallado, que imprime toda la información.
  • -u - Muestra dependencias directas no utilizadas
  • -d - Ejecuta la reubicación de datos y muestra objetos ELF faltantes.
  • -riñonal - Ejecuta la reubicación de datos y funciones y muestra objetos y funciones ELF faltantes.

Mostrar salida detallada

Para mostrar las dependencias de un binario con información detallada, podemos pasar el indicador -V al comando LDD como:

sudo ldd -v /bin /bash

LDD muestra dependencias directas no utilizadas

Muestre dependencias directas no utilizadas con la bandera -u como:

sudo ldd -u /bin /grep

NOTA: LDD solo funciona con ejecutables dinámicos. Si se usa en un ejecutable no dinámico, mostrará un error como:

sudo ldd -v /bin /ldd

En conclusión

Este tutorial cubrió cómo usar el comando LDD en Linux y obtener información de dependencia de la biblioteca compartida para ejecutables dinámicos. Si aprendiste algo de este tutorial, compártelo con otros.

Si está buscando información detallada, considere las siguientes páginas del hombre:

  • https: // man7.org/Linux/Man-Pages/Man1/Ldd.1.html
  • https: // man7.org/Linux/Man-Pages/Man7/VDSO.7.html
  • https: // man7.org/Linux/Man-Pages/Man7/Libc.7.html
  • https: // man7.org/Linux/Man-Pages/Man8/Ld.entonces.8.html