LPIC 102.3 Gestionar librerías compartidas

Introducción

Durante este tema hablaré del termino librerías compartidas no obstante es vital saber su nombre en inglés: “shared libraries” ya que es así como nos lo encontraremos en infinidad de sitios, como en la certificación en caso de hacerla en inglés. Una vez aclarado el asunto vayamos al lio:

En realidad el concepto de librerías compartidas es un concepto de bajo nivel que no se nos pide comprender del todo. Hagámonos pues una idea aproximada. Al programar una aplicación si usamos una función del sistema el codigo lo buscará entre las librerías que ya tiene el sistema. Una posibilidad y es que se haga un enlazado estático (copiandola). Esto es usar el código ya ejecutable de aquello que queremos usar. Esto lo hace muy rápido y cómodo pero básicamente muy poco eficiente. Para solucionar esto se usa lo que se conoce como linkado dinámico. Esto es que en lugar de copiar esa rutina ejecutable la usa y la comparte con otros programas que también la necesiten. Esto lo hace más eficiente. Esta es a mi entender una idea muy muy por encima del tema y la verdad es que yo me quedo también en la superficie y no se si he llegado a comprenderla bien pero en la documentación de Oreilly es lo que dice y por lo que he visto en examenes con saber esto vamos que chutamos 😛

Dependencias de las librerías compartidas

cualquier programa que es linkado dinámicamenterequiere al menos unas pocas librerías compartidas. Si estas no existen o no pueden ser encontradas el programa fallará al ejecutarse. Lo que deberemos hacer por tanto es instalar las librerías adecuadas. El problema es a veces saber cuales son estas librerías, pero para esto existe la utilidad ldd. El uso de este comando no puede ser más sencillo ldd seguido del comando del cual queremos saber sus dependencias y como resultado nos dirá estas. En caso de que no tuvieramos alguna de ellas procederemos a instalarla y ya nos funcionará.

Enlazando librerías compartidas

El programa ld.so busca dependencias en los ejecutables que estan siendo cargados e intenta satisfacer sus enlaces no resueltos con librerías del sistema. Si no puede encontrar una adecuada fallará. Para buscar nuevas librerias ld.so debe buscar en /usr/local/lib y para que lo haga podríamos modificar la variable del sistema LD_LIBRARY_PATH pero lo suyo es configurarlo en ld.so para ello modificaremos el fichero /etc/ld.so.confy y añadiremos la ruta. Tras esto ejecutando el comando ldconfig recargaremos los nuevos links de librerias. Esta misma orden con la opción -p nos muestras los actuales links de las librerías.

Y esto es todo uno de los episodios que se tocan más de refilón del temario y a mi entender mal explicado en el libro de Oreilly. Si según sigo estudiando cosas aprendo nuevos conceptos que considere utiles para esto los iré añadiendo. No obstante como decía poco de esto cae en el examen yo creo que con comprender medianamente lo que es una shared librarie y saber que es, que hace y como funciona ldd y ldconfig la cosa va que chuta.

5 comentarios en “LPIC 102.3 Gestionar librerías compartidas

  1. Y esto del LPIC ¿para qué dices que sirve?
    Menos mal que en el mundo hay frikis que hacen cosas rarísimas para que el resto de la humanidad disfrutemos de los avances tecnológicos.
    Sigue así. Estoy segura de que el curso está siendo la leche porque yo no me estoy enterando de nada (eso es buena señal).
    Un saludo

    1. Jaja, pues para certificar tus conocimientos de linux 😉 Me ha hecho gracia tu reflexión de porque somos necesarios los frikis! 😉

Los comentarios están cerrados.