Outils d'utilisateurs

Outils du Site


Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

groupes_d_interets:linux:lpic1_2012:seance_004 [2012/12/08 14:47]
arekkusu créée
groupes_d_interets:linux:lpic1_2012:seance_004 [2013/01/05 20:30] (Version actuelle)
axel
Ligne 1: Ligne 1:
-====== 2013.04.04 Séance 4 ======+====== 2013.01.04 Séance 4 ======
  
  
Ligne 7: Ligne 7:
  
 =====   102.3 Manage shared libraries   ===== =====   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 :
 +---------------
 +
 + - Allège le programme. Il peut utiliser les librairies sans avoir eu besoin de les compiler.
 + - 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 :
 +---------------
 +
 + - 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' : 
 + <code>include /etc/ld.so.conf.d/*.conf</code>
 +        
 +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 :     
 +  * http://wiki.lpi.org/wiki/LPIC-1#102.3_Manage_shared_libraries
 +  * Vidéo 'LPI Linux LPIC-1 101 - 07 - Manage Shared Libraries.mp4' - CBTNuggets
 +  * http://wiki.gel.ulaval.ca/index.php?title=Fonctionnement_de_la_liaison_dynamique_sous_Linux
 +  * http://collonville.thomas.free.fr/verifier-les-dependances-dune-application/
groupes_d_interets/linux/lpic1_2012/seance_004.1354974479.txt.gz · Dernière modification: 2012/12/08 14:47 par arekkusu