Re: 'Freezer' un soft

Page principale

Répondre à ce message
Auteur: Yves Martin
Date:  
À: Frédéric, Guilde
Sujet: Re: 'Freezer' un soft
On Sat, 2024-09-14 at 08:22 +0200, Frédéric wrote:
> Le samedi 14 septembre 2024, Olivier a écrit :
>
> >     Il y a aussi la technique de la variable d'environnement

> >
> > LD_LIBRARY_PATH
> >
> >     Je crois que c'est assez vieux, j'avais utilisé cela il y
> > a 20 ans.
> >     En gros, tu surcharges les chemins de recherche des
> > librairies (définis 
> > dans /etc/ld.so.conf), par cete variable qui est prise en priorité.

> >
> >     Pour que ce soit plus propre, le mieux est de lancer ton
> > programme via 
> > un "vrapper", qui définira la variable et lancera le programme.
> > Exemple:
> > - Le vrappeur est dans ~/bin/mon_programme.sh
> > - Le vrai binaire est dans /usr/local/mon_programme/mon_programme

> >
> > <file="~/bin/mon_programme.sh">
> > #/bin/sh
> > export LD_LIBRARY_PATH=/usr/local/mon_programme/
> > exec /usr/local/mon_programme/mon_programme
> > </file>


Bonjour,

J'ajoute mon grain de sel pour expliquer ceci:

Le "loader" qui s'occupe de démarrer un exécutable EFL propose aussi
LD_PRELOAD qui permet de forcer la liaison vers une ou plusieurs lib
avant le parcours de LD_LIBRARY_PATH

Cette technique est notamment utilisée par l'outil "fakeroot" pour
charger une bibliothèque "wrapper" (ou proxy) mimant des méthodes de la
libc pour détourner les appels de manipulation de fichiers (uid, gid,
mod...).
L'outil fakeroot est utilisé par les chaînes de création de package des
distributions (comme dpkg-buildpackage pour Debian) pour éviter de
tourner en root et de risquer casser le système hôte.

Pas nécessairement utile dans le cas présent, mais au moins pour la
culture générale.

--
Yves Martin