Saltar al contenido

Cómo usar el comando LDD en Linux

¿Se pregunta cómo usar el comando LDD en Linux?

Linux ofrece una amplia flexibilidad, ya que le permite ajustar su sistema de acuerdo con sus necesidades. Eso significa que puede operar fácilmente su sistema a través de la Terminal. Además, puede controlar varios parámetros y controlar los archivos compartidos y utilizados por diferentes programas en su sistema.

Un comando, en particular, le permite reconocer las bibliotecas utilizadas por un programa dado bajo inspección. Este es el comando LDD desarrollado por Roland McGrath y Ulrich Drepper.

LDD (Lista de dependencias dinámicas) facilita al usuario identificar las dependencias de la biblioteca que se comparten entre varios archivos ejecutables.

Esta guía le ayudará a aprender a utilizar el comando LDD en Linux.

Así que sin más preámbulos, ¡comencemos!

Tipos de bibliotecas.

Una biblioteca es un conjunto bien definido de funciones, objetos, variables, clases, especificaciones de tipo, condiciones y subrutinas que dictan las operaciones de archivos y programas, sin tener que mantener el código fuente.

Hay tres tipos de bibliotecas:

  1. Bibliotecas dinámicas: Estas son bibliotecas utilizadas por programas que se compilan a menor escala. Como su nombre lo indica, se carga dinámicamente en el momento de la ejecución, por lo que una sola copia se utiliza dinámicamente para ejecutar varios programas.

Esto reduce el consumo de memoria, minimizando así el tamaño del programa y mejorando el rendimiento. Suelen tener “.so”Extensiones.

  1. Bibliotecas estáticas: Estas bibliotecas son utilizadas por programas completos. Vinculan programas sin volver a compilar el código fuente, lo que ahorra tiempo. Estas bibliotecas se incluyen por separado en los archivos de programa que requieren sus funciones. Por lo general, van seguidos de un “.a extensión.
  2. Bibliotecas compartidas: Se trata de bibliotecas instaladas individualmente que los programas utilizan automáticamente en el momento de la instalación. Pueden anular partes específicas de una biblioteca preexistente cuando el programa está realizando ciertas tareas. Además, se pueden usar en tiempo de ejecución con nuestro código o un programa.

La mayoría de los archivos ejecutables que usamos a diario contienen bibliotecas compartidas. El comando LDD enumera las dependencias de la biblioteca dinámica. Estas bibliotecas se reutilizan y comparten entre programas para facilitar el desarrollo de programas y reducir su tamaño y carga en la memoria de la computadora.

En Linux, estos archivos tienen la forma de “.so extensión y se almacenan en /usr/lib* o simplemente /lib*.

Varias distribuciones de sistemas Linux pueden empaquetar un conjunto diferente de bibliotecas para un programa, lo que hace que funcione de manera diferente en diferentes versiones del sistema operativo. Cuando una biblioteca compartida para un programa no está disponible en su sistema, obtiene un error que puede verse así:

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

Luego podemos verificar las bibliotecas compartidas para un programa en particular usando el comando LDD.

Instalación del comando LDD.

El comando LDD está inherentemente disponible en casi todas las distribuciones de Linux. En caso de que no lo esté, puede usar el siguiente comando para instalarlo:

$ sudo apt-get install libc-bin

los $ ldd El comando tiene la siguiente sintaxis:

$ ldd <options> <executable>

O más generalmente:

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

LDD es un comando básico pero poderoso. Ofrece ayuda y otras variaciones utilizando diferentes banderas. Se describen brevemente a continuación.

–Version: Para mostrar la versión de ldd actualmente en uso.

-v --verbose: Para mostrar información de manera compleja.

-u --unused: Para mostrar las dependencias no utilizadas.

-d --data-relocs: Para reubicar e identificar objetos perdidos.

-r --function-relocs: Reubicar funciones y objetos de datos, así como identificar funciones u objetos faltantes.

-help: Para proporcionar ayuda con respecto al uso de comandos.

Usando el comando LDD.

Ahora que ha completado la instalación, está listo para aprender a usar el comando LDD en Linux. Demostraremos esto junto con cómo ayuda a identificar bibliotecas compartidas.

Examinaremos las bibliotecas compartidas para Bash, el shell estándar en Linux. Es responsable de ejecutar comandos y proporcionar una interfaz entre el usuario y el sistema operativo.

Para utilizar el comando LDD, siga estos pasos:

  1. Empiece por abrir el Terminal de comando presionando control + Alt + T en tu teclado.
  2. A continuación, ubique la ruta usando el which o whereis comando seguido del comando LDD escribiendo lo siguiente:

$ which bash
$ whereis bash
$ ldd /usr/bin/bash

Comando LDD en Linux

Como puede ver, las dependencias de la biblioteca compartida son visibles. Para obtener una descripción general más detallada y compleja, utilice el -v bandera con el $ ldd comando de la siguiente manera:

$ ldd -v /usr/bin/bash
Comando LDD en Linux

Del mismo modo, podemos utilizar el -u bandera para mostrar las dependencias no utilizadas.

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

En el caso que se muestra arriba, no hay dependencias sin usar. Siempre se recomienda vigilar qué bibliotecas están inactivas y consumen memoria. Si no lo hace, puede cargar su kernel con archivos no utilizados y, en consecuencia, obstaculizar el rendimiento. Sería útil consultar nuestro artículo sobre cómo liberar espacio en Ubuntu.

Para las reubicaciones de datos y funciones, utilizamos el -d y -r banderas respectivamente junto con el $ ldd mando.

$ ldd -d /usr/bin/bash
$ ldd -r /usr/bin/bash

Comando LDD en Linux

Estos indicadores también ayudan a identificar objetos y funciones faltantes.

Por último, pero no menos importante, podemos utilizar el --help bandera para una consulta rápida sobre las banderas y sus respectivas acciones.

- bandera de ayuda

Limitaciones del comando LDD.

Cabe señalar que el comando LDD no funcionará en programas que no sean ejecutables dinámicamente, “a.out”Bibliotecas o archivos compartidos que están desactualizados o que se desarrollaron antes de que saliera el LDD.

Por último, se recomienda que los comandos LDD no se utilicen con fuentes que no sean de confianza, ya que pueden provocar errores y excepciones abruptos.

La página de manual de LDD sugiere un comando alternativo que se compone de objdump y grep utilidades.

[email protected] ~/$objdump -p /path/program/grep NEEDED

LDD es una de esas instrucciones socavadas que, si se usan de la manera correcta, pueden marcar una diferencia sustancial en su interacción con el sistema operativo. Es un poderoso comando de vinculación con un propósito específico, y definitivamente cumple. Para obtener más detalles sobre el comando y su uso, puede dirigirse al página man para el comando LDD.

Esperamos que esta guía le haya ayudado a aprender a utilizar el comando LDD en Linux. Si tiene problemas para entender algo o si tiene sugerencias sobre cómo mejorar nuestras guías, háganoslo saber en la sección de comentarios a continuación.

( function( d, s, id ) {
var js, fjs = d.getElementsByTagName( s )[0];
if ( d.getElementById( id ) ) return;
js = d.createElement( s ); js.id = id;
js.src = “https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5&appId=305449883698649”;
fjs.parentNode.insertBefore( js, fjs );
}( document, ‘script’, ‘facebook-jssdk’ ) );

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)