2.7.2.- Comandos de administración de bibliotecas.

biblioteca_tuxdudaLinux posee un par de comandos que, probablemente, utilizará para administrar las bibliotecas. el programa ldd muestra las dependencias de las bibliotecas compartidas de un programa, es decir, las que éste utiliza. El programa ldconfig utiliza las cachés y los enlaces que utiliza el sistema para localizar bibliotecas, es decir, lee /etc/ld.so.conf e implementa todos los cambios de dicho fichero en los directorios a los que hace referencia. Ambas son herramientas valiosísimas para administrar bibliotecas.

Mostrar las dependencias de las bibliotecas compartidas

Si se encuentra con programas que no se ejecutan debido a que les faltan bibliotecas, es comprobar que bibliotecas utiliza el fichero del programa. Podemos hacerlo con el comando ldd:

ldd

Cada línea de la salida comienza por un nombre de biblioteca, como libselinux.so.1 o libpcre.so.1. Si el nombre no contiene la ruta completa, ldd intentará encontrar la biblioteca real y mostrará la ruta completa a continuación del símbolo =>, como en  libselinux.so.1 => /lib/libselinux.so.1 o libpcre.so.1 => /lib/libpcre.so.1
. No se preocupe por el número hexadecimal que sigue a la ruta completa al fichero de la biblioteca.

El comando ldd acepta algunas opciones. La más reseñable probablemente sea -v, que muestra una larga lista de datos de la versión de una biblioteca que emplea el programa, en caso de que tenga varias versiones instaladas.

No olvide que las bibliotecas pueden depender a su vez de otras bibliotecas. Por consiguiente, puede utilizar ldd para descubrir que bibliotecas utiliza una en particular. Como existe un riesgo potencial de que existan dependencias en cadena, es posible que un programa no consiga ejecutarse, a pesar de que sus bibliotecas están presentes. Cuando utilice ldd para rastrear problemas, asegúrese de comprobar todos los requisitos de las bibliotecas del programa y todas las bibliotecas utilizadas por la primera capa de bibliotecas y así sucesivamente, hasta llegar al final de la cadena.

La utilidad ldd puede ser utilizada tanto por usuarios normales como por root. Si no consigue leer el fichero del programa con un usuario normal, deberá ejecutarla como root.

Volver a cargar la caché de la biblioteca

Linux (o especialmente los programas que gestionan la carga de bibliotecas no leen el directorio donde se ubica la biblioteca cada vez que se ejecuta un programa. En vez de ello, el sistema se basa en una lista de directorios  y los ficheros que estos contienen, almacenada en formato binario en la caché /etc/ld.so.cache. Esta lista se mantiene en un formato mucho más eficaz que una lista de ficheros y directorios en texto plano. El inconveniente es que tiene que cargar esta caché cada vez que añada o elimine directorios. Estas adiciones y supresiones incluyen cambiar el contenido de los directorios de las bibliotecas y añadir o eliminar éstos.

La herramienta se llama ldconfig. Normalmente se utiliza sin opciones:

ldconfig

Sin embargo, este programa recibe opciones para modificar su comportamiento:

  • Mostrar información detallada.- Normalmente ldconfig no muestra ningún dato durante su funcionamiento. La opción -v hace que el programa resuma los directorios y ficheros que registra conforme hace su labor.lddconfig_v
  • No reconstruir la caché.- La opción -N hace que ldconfig no realice su tarea principal de actualizar la caché de la biblioteca. No obstante, si actualizará los enlaces simbólicos a las bibliotecas, que es una de sus tareas secundarias.
  • Procesar sólo los directorios especificados.- La opción -n hace que ldconfig actualice los enlaces contenidos en los directorios especificados en la línea de comandos. El sistema no examinará  los directorios especificados en /etc/ld.so.conf o en los directorios habituales (/lib y /usr/lib).
  • No actualizar enlaces.- La opción -X es la opuesta a menos -N; hace que ldconfig actualice la caché pero no gestione los enlaces.
  • Utilizar un nuevo fichero de configuración.- Puede cambiar el fichero de configuración /etc/ld.so.conf utilizando la opción -f fichconf, donde fichconf es el fichero que desea emplear.
  • Utilizar un nuevo fichero de caché.- Puede cambiar el fichero de caché que crea ldconfig pasándole la opción -C fichcache, donde fichcache es el fichero que desea emplear.
  • Utilizar un nuevo directorio raíz.- La opción -r dir le dice a ldconfig que trate dir como si fuera el directorio raíz (/). Esta opción es útil para recuperar un sistema corrompido o para instalar un nuevo S.O.
  • Mostrar la información actual.- La opción -p hace que ldconfig muestre la caché actual (todos los directorios de biblioteca y las bibliotecas que contiene).

Los paquetes de bibliotecas RPM como Debian suelen ejecutar ldconfig automáticamente tras instalar o eliminar el paquete. Lo mismo ocurre como parte del proceso de instalación de muchos programas compilados desde la fuente. Por lo tanto, puede que ldconfig se ejecute más de lo que cree en el proceso de administración del software. Puede que tenga que ejecutar el programa usted mismo o modificar manualmente la configuración de su biblioteca de algún modo.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s