Buscar bibliotecas compartidas de un programa usando el comando «ldd

Buscar bibliotecas compartidas de un programa usando el comando “ldd

Buscar bibliotecas compartidas de un programa usando el comando «ldd

VALORACIÓN DEL ARTÍCULO:
5/5


Utilice el comando ldd para mostrar las bibliotecas compartidas requeridas por cualquier programa dado – útil para calcular cuando falta una dependencia. El comando también lista las funciones y objetos que faltan.

Sintaxis del comando ldd

Observe la sintaxis correcta del comando ldd para evitar errores:

ldd[OPCIÓN].... ARCHIVO....

Utilice uno o más de los comandos ldd disponibles, insertados en el punto [OPTION] del comando anterior:

--help | imprimir esta ayuda y salir
--version | información de la versión de impresión y exit
-d, --data-relocs | reubicación de datos de proceso
-r, --function-relocs | datos de proceso y reubicaciones de funciones
-u, --no utilizado | imprimir dependencias directas no utilizadas
-v, --verbose | imprimir toda la información

Cómo usar el comando ldd

Ejecute el siguiente comando para obtener más información sobre un programa:

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

La salida muestra información de la versión, así como las rutas y direcciones de las bibliotecas compartidas, de esta manera:

 $ldd libshared.so 
linux-vdso.so.1 => (0x00007fff26ac8000)
libc.so.6 => /lib/libc.so.6 0x0000007ff1df55a000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

Si el archivo SO no existe, puede encontrar las bibliotecas que faltan usando el siguiente comando:

$ldd -d path/to/program

La salida es similar a la siguiente:

 linux-vdso.so.1 (0x00007ffc2936b000)
/home/gary/demo/garylib.so => not foundlibc.so.6 => usr/lib/libc.so.6 (0x00007fd0c6259000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd0c65fd000)

Nunca ejecute el comando ldd contra un programa no confiable porque el ldd podría realmente ejecutarlo. En su lugar, utilice una alternativa más segura que muestre sólo las dependencias directas y no todo el árbol de dependencias:

$objdump -p /p /path/to/program | grep NEED

Cómo encontrar la ruta a una aplicación

Debe proporcionar la ruta completa a una aplicación si desea encontrar sus dependencias con ldd, lo que puede hacer de varias maneras.

Por ejemplo, así es como encontrarías el camino a Firefox:

 $find / -nombre firefox

El problema con el comando find, sin embargo, es que no sólo listará el ejecutable, sino también todos los lugares donde se encuentra Firefox, como este:

  • /etc/skel/.mozilla/firefox
  • /Inicio//cache/mozilla/firefox
  • /home///.mozilla/firefox
  • /usr/bin/Firefox
  • /usr/lib/Firefox
  • /usr/lib/Firefox/Firefox

Este enfoque es un poco exagerado y puede que necesites usar el comando sudo para elevar tus privilegios, de lo contrario es probable que obtengas muchos errores de denegación de permiso.

En cambio, es mucho más fácil usar el comando whereis para encontrar la ruta de una aplicación:

$whereis firefox

Esta vez la salida podría ser así:

/usr/bin/firefox

/etc/firefox

/usr/lib/firefox

Todo lo que tienes que hacer ahora para encontrar las bibliotecas compartidas para Firefox es escribir el siguiente comando:

$ldd /usr/bin/firefox

La salida del comando será algo así:

linux-vdso.so.1 (0x0000007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc++.so.6 => /usr/lib/lib/libstdc++.so.6 (0x00007feb98bf4000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007feb988f6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007feb986e0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feb9833c000)
/lib64/ld-linux-x86-64.so.2 (0x00007feb99397000)

Linux-vdso.so.1 es el nombre de la biblioteca y el número hexadecimal es la dirección donde se cargará la biblioteca en la memoria.

Notarás en muchas de las otras líneas que el símbolo => es seguido por un camino. Esta es la ruta al binario físico; el número hexadecimal es la dirección donde se cargará la biblioteca.

TAMBIÉN TE INTERESA

vivo X200 FE

Vivo X200 FE: fuera caretas con esta nueva gama alta

La marca vivo, siempre muy identificada con móviles accesibles, se quita la carea para presentar el nuevo vivo X200 FE, un dispositivo que busca conquistar a los usuarios que quieren rendimiento premium sin renunciar a la comodidad. Con una cámara desarrollada junto a ZEISS, batería de larga duración, una pantalla de alto nivel y un

videovigilancia camara AOV PT

La cámara AOV PT: un motivo para irse tranquilo de vacaciones

El verano es sinónimo de descanso, desconexión y viajes. Pero también de preocupación y seguro que las siglas de la cámara AOV PT ayudan a combatir ese sentimiento. Casas vacías, negocios con menos actividad y propiedades que quedan fuera del radar diario se convierten en un blanco fácil para robos o actos vandálicos. En este

la estafa más habitual de España

Así es la estafa más habitual: WhatsApp, Telegram, oferta de empleo y un troyano…

Está arrasando. La estafa más habitual que circula por España lo tiene todo: ingeniería social, plataformas de mensajería, el señuelo del un empleo irreal y un troyano que tienes cuando ya has caído. Los expertos en ciberseguridad como Secure&IT se han hecho eco de multitud de robos de estas características. Describiendo la estafa más habitual

planificar un viaje con ChatGPT

Planificar un viaje con ChatGPT: todo lo que debes saber

Planificar un viaje con ChatGPT es una de las muchas cosas que se pueden hacer con esta popular herramienta. Destinos, restaurantes, precios, parkings donde dejar el coche, itinerarios… Se puede hacer de todo con la IA, pero hasta cierto punto. Y es que hay límites y riesgos que hay que tener en cuenta. Lo analizamos