Visualizar la caché de librerías compartidas con ldconfig -p
En el paso anterior, utilizaste el comando find para buscar una librería en todo el sistema de archivos, lo cual puede ser lento. Para acelerar el proceso de localización de librerías compartidas, los sistemas Linux mantienen un archivo de caché, generalmente ubicado en /etc/ld.so.cache. Esta caché contiene una lista compilada de las librerías compartidas disponibles en los directorios estándar del sistema, lo que permite que los programas carguen sus dependencias de forma mucho más rápida.
El comando ldconfig es la herramienta principal para gestionar esta caché. Para ver el contenido de la caché de librerías actual, puedes usar la opción -p (print).
Ejecuta el siguiente comando para mostrar todas las librerías registradas en la caché:
ldconfig -p
La salida será bastante extensa, ya que un sistema típico tiene muchas librerías compartidas. El comando indica el número de librerías encontradas y luego imprime cada una de ellas. Aquí tienes una pequeña muestra de cómo se ve la salida:
1234 libs found in cache `/etc/ld.so.cache'
libzstd.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzstd.so.1
libz.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libz.so.1
libz.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libz.so
libyield.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libyield.so.2
...
libc.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libc.so.6
...
Cada línea muestra el nombre de la librería, su arquitectura y ABI (por ejemplo, libc6,x86-64), y la ruta completa al archivo de la librería.
Para evitar desplazarte por toda la lista, puedes redirigir la salida a grep para buscar una librería específica. Busquemos la entrada para libc.so.6, con la que hemos estado trabajando:
ldconfig -p | grep libc.so.6
Esto filtrará la lista y te mostrará solo las entradas relacionadas con libc.so.6:
libc.so.6 (libc6,x86-64, OS ABI: Linux 3.2.0) => /lib/x86_64-linux-gnu/libc.so.6
Como puedes ver, esta es una forma mucho más rápida y directa de encontrar la ubicación de una librería en caché que buscar en todo el sistema de archivos. La salida muestra no solo el nombre y la ruta de la librería, sino también información de la arquitectura (libc6,x86-64) y la compatibilidad con el ABI del SO (OS ABI: Linux 3.2.0). Sin embargo, esta caché no se actualiza automáticamente en tiempo real. Si instalas una nueva librería, debes actualizar la caché para que el sistema pueda encontrarla. En el siguiente paso, aprenderás cómo hacer precisamente eso.