J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme installe
lors d'un make install.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe Le Gal
On Sat, 28 Jun 2003 14:03:11 +0200 "Julien Cigar" wrote:
Bonjour,
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C. J'aimerais avoir la liste de tous les fichiers que le programme installe lors d'un make install.
Le meme genre de question a ete posee il y a qq jours sur fcolc. Dans ce genre de cas, j'utilise une methode pragmatique : en utilisant find -cmin je peux recuperer la liste des fichiers qui viennent juste d'etre copies. Ca n'est pas formellement garanti (un make install peut tres bien s'amuser a mettre la date qu'il veut sur les fichiers qu'il copie), mais en pratique je n'ai jamais vu un seul contre-exemple.
Voir sur fcolc "La facon la plus brillante de desinstaller des tar.gz" pour un script plus detaille.
-- Christophe Le Gal
On Sat, 28 Jun 2003 14:03:11 +0200
"Julien Cigar" <mage@mordor.ath.cx> wrote:
Bonjour,
J'aimerais savoir comment je pourrais faire pour "capturer" la liste
des fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme
installe lors d'un make install.
Le meme genre de question a ete posee il y a qq jours sur fcolc.
Dans ce genre de cas, j'utilise une methode pragmatique :
en utilisant find -cmin je peux recuperer la liste des fichiers qui
viennent juste d'etre copies.
Ca n'est pas formellement garanti (un make install peut tres bien
s'amuser a mettre la date qu'il veut sur les fichiers qu'il copie), mais
en pratique je n'ai jamais vu un seul contre-exemple.
Voir sur fcolc "La facon la plus brillante de desinstaller des tar.gz"
pour un script plus detaille.
On Sat, 28 Jun 2003 14:03:11 +0200 "Julien Cigar" wrote:
Bonjour,
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C. J'aimerais avoir la liste de tous les fichiers que le programme installe lors d'un make install.
Le meme genre de question a ete posee il y a qq jours sur fcolc. Dans ce genre de cas, j'utilise une methode pragmatique : en utilisant find -cmin je peux recuperer la liste des fichiers qui viennent juste d'etre copies. Ca n'est pas formellement garanti (un make install peut tres bien s'amuser a mettre la date qu'il veut sur les fichiers qu'il copie), mais en pratique je n'ai jamais vu un seul contre-exemple.
Voir sur fcolc "La facon la plus brillante de desinstaller des tar.gz" pour un script plus detaille.
-- Christophe Le Gal
Stephane CHAZELAS
Le Sat, 28 Jun 2003 14:03:11 +0200, Julien Cigar écrivait :
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C. J'aimerais avoir la liste de tous les fichiers que le programme installe lors d'un make install.
Tu peux regarder du coté de http://checkinstall.izto.org (anciennement installwatch).
-- Stéphane
Le Sat, 28 Jun 2003 14:03:11 +0200, Julien Cigar <mage@mordor.ath.cx> écrivait :
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme installe
lors d'un make install.
Tu peux regarder du coté de http://checkinstall.izto.org
(anciennement installwatch).
Le Sat, 28 Jun 2003 14:03:11 +0200, Julien Cigar écrivait :
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C. J'aimerais avoir la liste de tous les fichiers que le programme installe lors d'un make install.
Tu peux regarder du coté de http://checkinstall.izto.org (anciennement installwatch).
-- Stéphane
Emmanuel Florac
Dans article , disait...
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C.
Sinon il y a relink qui sait peut-être s'en occuper... relink.sourceforge.net
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
Dans article <pan.2003.06.28.12.03.11.928873@mordor.ath.cx>,
mage@mordor.ath.cx disait...
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
Sinon il y a relink qui sait peut-être s'en occuper...
relink.sourceforge.net
--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C.
Sinon il y a relink qui sait peut-être s'en occuper... relink.sourceforge.net
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
Maxime Henrion
In article , Julien Cigar wrote:
Bonjour,
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C. J'aimerais avoir la liste de tous les fichiers que le programme installe lors d'un make install.
Si qqn a une idee, merci d'avance :)
Tu pourrais coder une librairie contenant un symbole open() qui comptabiliserait toutes les créations de fichiers puis appellerait le réel open() en utilisant un dlsym(). Ensuite, tu set ta variable d'environnement LD_PRELOAD sur cette librairie. En pratique c'est un peu plus compliqué que ça car tu auras à différencier des appels open() avec le flag O_CREAT quand le fichier existe déjà et quand il n'existe pas (le flag O_CREAT signifie créer le fichier _si_ il n'existe pas, sauf s'il y a aussi le flag O_EXCL). Tu dois aussi hooker les appels à unlink() pour éviter de comptabiliser des fichiers créés puis effacés par le make install. De plus, cela ne marchera que si ton binaire make est compilé dynamiquement, ce qui peut ne pas être le cas sur certains systèmes.
Une autre solution serait de créér une arborescence vide, de lancer le make install à cet endroit en chroot, puis, une fois le make install terminé, rechercher les fichiers qui ont été créés à l'intérieur de cette arborescence.
Une troisième solution consiste à parcourir ton disque dur en regardant la date de création des fichiers une fois le make install terminé. C'est probablement la solution la plus simple mais aussi la plus aléatoire.
Maxime
In article <pan.2003.06.28.12.03.11.928873@mordor.ath.cx>, Julien Cigar wrote:
Bonjour,
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme installe
lors d'un make install.
Si qqn a une idee, merci d'avance :)
Tu pourrais coder une librairie contenant un symbole open() qui
comptabiliserait toutes les créations de fichiers puis appellerait le
réel open() en utilisant un dlsym(). Ensuite, tu set ta variable
d'environnement LD_PRELOAD sur cette librairie. En pratique c'est un
peu plus compliqué que ça car tu auras à différencier des appels open()
avec le flag O_CREAT quand le fichier existe déjà et quand il n'existe
pas (le flag O_CREAT signifie créer le fichier _si_ il n'existe pas,
sauf s'il y a aussi le flag O_EXCL). Tu dois aussi hooker les appels à
unlink() pour éviter de comptabiliser des fichiers créés puis effacés
par le make install. De plus, cela ne marchera que si ton binaire make
est compilé dynamiquement, ce qui peut ne pas être le cas sur certains
systèmes.
Une autre solution serait de créér une arborescence vide, de lancer le
make install à cet endroit en chroot, puis, une fois le make install
terminé, rechercher les fichiers qui ont été créés à l'intérieur de
cette arborescence.
Une troisième solution consiste à parcourir ton disque dur en regardant
la date de création des fichiers une fois le make install terminé.
C'est probablement la solution la plus simple mais aussi la plus
aléatoire.
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des fichiers lors d'un make install (sous linux) en language C. J'aimerais avoir la liste de tous les fichiers que le programme installe lors d'un make install.
Si qqn a une idee, merci d'avance :)
Tu pourrais coder une librairie contenant un symbole open() qui comptabiliserait toutes les créations de fichiers puis appellerait le réel open() en utilisant un dlsym(). Ensuite, tu set ta variable d'environnement LD_PRELOAD sur cette librairie. En pratique c'est un peu plus compliqué que ça car tu auras à différencier des appels open() avec le flag O_CREAT quand le fichier existe déjà et quand il n'existe pas (le flag O_CREAT signifie créer le fichier _si_ il n'existe pas, sauf s'il y a aussi le flag O_EXCL). Tu dois aussi hooker les appels à unlink() pour éviter de comptabiliser des fichiers créés puis effacés par le make install. De plus, cela ne marchera que si ton binaire make est compilé dynamiquement, ce qui peut ne pas être le cas sur certains systèmes.
Une autre solution serait de créér une arborescence vide, de lancer le make install à cet endroit en chroot, puis, une fois le make install terminé, rechercher les fichiers qui ont été créés à l'intérieur de cette arborescence.
Une troisième solution consiste à parcourir ton disque dur en regardant la date de création des fichiers une fois le make install terminé. C'est probablement la solution la plus simple mais aussi la plus aléatoire.
Maxime
Stephane CHAZELAS
Le 28 Jun 2003 12:55:56 GMT, Maxime Henrion écrivait : [...]
Tu pourrais coder une librairie contenant un symbole open() qui comptabiliserait toutes les créations de fichiers puis appellerait le réel open() en utilisant un dlsym(). Ensuite, tu set ta variable d'environnement LD_PRELOAD sur cette librairie. [...]
C'est ce que fait (entre autres) checkinstall dont j'ai donné l'URL dans mon autre message sur le sujet.
-- Stéphane
Le 28 Jun 2003 12:55:56 GMT, Maxime Henrion <mux@FreeBSD.org> écrivait :
[...]
Tu pourrais coder une librairie contenant un symbole open() qui
comptabiliserait toutes les créations de fichiers puis appellerait le
réel open() en utilisant un dlsym(). Ensuite, tu set ta variable
d'environnement LD_PRELOAD sur cette librairie.
[...]
C'est ce que fait (entre autres) checkinstall dont j'ai donné
l'URL dans mon autre message sur le sujet.
Le 28 Jun 2003 12:55:56 GMT, Maxime Henrion écrivait : [...]
Tu pourrais coder une librairie contenant un symbole open() qui comptabiliserait toutes les créations de fichiers puis appellerait le réel open() en utilisant un dlsym(). Ensuite, tu set ta variable d'environnement LD_PRELOAD sur cette librairie. [...]
C'est ce que fait (entre autres) checkinstall dont j'ai donné l'URL dans mon autre message sur le sujet.
-- Stéphane
gronaz
bonjour
pourquoi pas make install &> liste_installation fopen (liste_installation ...) etc ... ?
bonjour
pourquoi pas
make install &> liste_installation
fopen (liste_installation ...)
etc ...
?