Outils pour utilisateurs

Outils du site


Panneau latéral

2013.01.04 Séance 4

102.2 Install a boot manager

102.3 Manage shared libraries

Définition


Les librairies partagées sont des librairies qui sont utilisé par différents programmes, sans que chacuns de ces programmes aient eu besoin de compiler ces librairies.

Avantages :


  1. Allège le programme. Il peut utiliser les librairies sans avoir eu besoin de les compiler.
  2. Economie de mémoire. La librairie est chargée qu'une seule fois. Sinon, elle serait chargé par chaque programme, donc plus lourd.

Inconvénients :


  1. Les programmes qui dépendent de librairies partagées ne fonctionneront pas si ces librairies sont absentes ou corrompues.

Afficher la liste des librairies partagées dont un programme dépend


% ldd -Programme

Exemple pour la commande 'ls': % ldd /bin/ls

/etc/ld.so.cache


  • Les programmes regardent dans ld.so.cache pour trouver les librairies partagées dont ils ont besoin.
  • 'ld.so.cache' est créer d'après le fichier : '/etc/ld.so.conf'

/etc/ld.so.conf


  • Contenu de '/etc/ld.so.conf' :
include /etc/ld.so.conf.d/*.conf

Le fichier '/etc/ld.so.conf' va donc charger toutes les fichiers de configuration présents dans : /etc/ld.so.conf.d/

Chacun de ces fichiers de configuration charge différentes librairies.

Charger les librairies partagées


# ldconfig

Cette commande (à exécuter en root) crée le fichier '/etc/ld.so.cache' d'après /etc/ld.so.conf

LD_LIBRARY_PATH


  • Regarde d'abord dans cette variable d'environnement pour trouver des librairies partagées. Utile pour faire des tests avec différentes librairies.
  • Définir la variable LD_LIBRARY_PATH :

# export LD_LIBRARY_PATH=/chemin/du/dossier/

Attention : Ce n'est pas la meilleur façon de procéder pour tester d'autres librairies. Ils est mieux de créer un nouveau fichier de configuration dans '/etc/ld.so.conf.d/' et d'exécuter 'ldconfig' pour mettre à jour le fichier '/etc/ld.so.cache'

##################################################

Sources :

groupes_d_interets/linux/lpic1_2012/seance_004.txt · Dernière modification: 2013/01/05 20:30 par axel