Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
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