Bonjour,
Je suis actuellement sur un livre de préparation aux certifications lpi, et je coince à un endroit.
Je cite le livre au sujet des bibliothèques partagées
Le cache est construit depuis le contenu du fichier /etc/ld.so.conf et de la commande ldconfig

Jusque là cela correspond à ce que j' ai sur ma Fedora 17
Après on me dit :
Plutôt que de modifier ce fichier, un package ou vous même pouvez décider de rajouter un fichier dans /etc/ld.so.conf.d contenant le ou les chemins de vos nouvelles bibliothèques.
Ce ne serait pas plutôt dans /etc/ld.so.conf que l' on peut faire ça ? D' autant plus qu' un peu plus loin, il y a un tp, ou justement on doit modifier ce fichier ?

Merci d' avance pour vos précisions, bonne soirée.
Je ne suis pas un expert de ldconfig, mais au vu de ce qu'il y a dans ld.so.conf :
$ cat ld.so.conf
include ld.so.conf.d/*.conf
les choses se passent clairement dans ld.so.conf.d. Ça ne veux pas dire que tu ne peux pas modifier ld.so.conf
Bonsoir,
ungars wrote:
Plutôt que de modifier ce fichier, un package ou vous même pouvez décider de rajouter un fichier dans /etc/ld.so.conf.d contenant le ou les chemins de vos nouvelles bibliothèques.
Ce ne serait pas plutôt dans /etc/ld.so.conf que l' on peut faire ça ? D' autant plus qu' un peu plus loin, il y a un tp, ou justement on doit modifier ce fichier ?
Les deux méthodes sont valides. En pratique, on préférera la seconde : un fichier dédié par bibliothèque que l'on souhaite surcharger permet de mieux s'y retrouver qu'empiler en vrac les définitions dans le fichier /etc/ld.so.conf. Ça facilite d'autant plus la maintenance du système. Ça permet accessoirement aux applications de modifier la façon dont les bibliothèques sont chargées sans devoir prévoir un mécanisme d'édition automatique du fichier /etc/ld.so.conf, simplement par rajout d'un fichier dans /etc/ld.so.conf.d/.
Ce type de configuration, par ajout de fichiers dans un dossier, tend à se généraliser : on le retrouve dans Apache, sudo depuis peu (/etc/sudoers vs /etc/sudoers.d/), les options passées aux modules noyau (/etc/modprobe.conf vs /etc/modprobe.d/) et même le shell (/etc/profile vs /etc/profile.d/).
Merci pour vos réponses.
J' ai laissé mon livre sur mon lieu de travail, cela semble être différent de ce que j' ai sur ma machine. Demain soir à mon retour je reposterai, quelque chose m' échappe.
Bonne soirée.
Bonsoir,
Me voila de retour.
Apparament, sur mon livre qui se sert de la version 15 comme support, les fichiers ne ressemblent pas trop à ce que j' ai sur ma machine. Effectivement, dans /etc/ld.so.conf il y a :
include ld.so.conf.d/*.conf
Sur mon livre, pour le tp qui s' y rapporte, ce n' est pas la même chose. Je ne vais pas tout remettre ici, mais il y a des lignes de ce type (celle ci c' est la première) :
/usr/X11R6/lib/Xaw3D
L' exercice du tp consiste à deplacer une librairie libQtGui.so.4 dans /tmp/lib puis de rajouter son chemin dans /etc/ld.so.conf

Question 1 je peux donc rajoute son chemin à la suite de :
include ld.so.conf.d/*.conf
?

Question 2, si j' applique la deuxième méthode, à savoir le rajouter dans /etc/ld.so.conf.d, comment dois je m' y prendre ? A l' intérieur, j' ai ces fichiers :
kernel-3.3.4-5.fc17.i686.conf   llvm-i386.conf   tracker-i386.conf
kernel-3.6.11-1.fc17.i686.conf  mysql-i386.conf  xulrunner-32.conf
J' imagine que je dois créer un dossier .conf, lui mettre le chemin à l' intérieur ? Comment dois je appeler exactement ce dossier ?


Merci pour votre aide, bonne soirée et bon début de semaine.
ungars wrote: L' exercice du tp consiste à deplacer une librairie libQtGui.so.4 dans /tmp/lib puis de rajouter son chemin dans /etc/ld.so.conf

Question 1 je peux donc rajoute son chemin à la suite de :
include ld.so.conf.d/*.conf
?
Tu peux en effet. C'est ce que ton livre explique d'ailleurs, non ?
Question 2, si j' applique la deuxième méthode, à savoir le rajouter dans /etc/ld.so.conf.d, comment dois je m' y prendre ? A l' intérieur, j' ai ces fichiers :
kernel-3.3.4-5.fc17.i686.conf   llvm-i386.conf   tracker-i386.conf
kernel-3.6.11-1.fc17.i686.conf  mysql-i386.conf  xulrunner-32.conf
J' imagine que je dois créer un dossier .conf, lui mettre le chemin à l' intérieur ? Comment dois je appeler exactement ce dossier ?
Plutôt un nouveau fichier. Ce fichier, auquel tu donneras le nom qu'il te plaira, devra simplement avoir une extension .conf et contenir évidemment le chemin de la bibliothèque que tu souhaites charger hors de /usr/lib*/ ou /lib*/.
Tu peux en effet. C'est ce que ton livre explique d'ailleurs, non ?
Oui mais comme ce dossier n' avait pas le même contenu que sur ma machine, je m' étais posé la question.
C' est en tout cas beaucoup plus clair comme ça. Merci de votre aide à tous. Bon après midi.