OVH Cloud OVH Cloud

Desinstaller un programme a partir des src

8 réponses
Avatar
Anthony
Bonjour,

J'ai une question (juste pour curiosite) :
Comment peut-on desintaller un programme qu'on a installer a partir des
src ?
Je crois savoir qu'en faisant un "make uninstall" ds les src ca marche
seulement moi, je ne conserve pas les src en general. Est-ce possible
alors de desintaller le programme ?

Merci par avance de vos reponses

Anthony

8 réponses

Avatar
Benoit Rousseau
Anthony wrote:
Bonjour,

J'ai une question (juste pour curiosite) :
Comment peut-on desintaller un programme qu'on a installer a partir des
src ?
Je crois savoir qu'en faisant un "make uninstall" ds les src ca marche
seulement moi, je ne conserve pas les src en general. Est-ce possible
alors de desintaller le programme ?


Ce ne sont pas les src, mais le Makefile qui gère ça (Makefile qui est
inclu dans les packages sources ou généré à l'installation).
En général, tu conserves le Makefile dans
/usr/src/nom_du_projet/Makefile ou dans /usr/local/src/... comme ca tu
peux desinstaller plus facilement. Sinon, tu peux te taper la
desinstallation à la main.

Tu peux aussi essayé de retrouver le projet et relancer la configuration
avec les même options, puis lancer le "make uninstall", mais c'est pas
top non plus.

Par contre, certain Makefile ne contiennent pas de directives de
desinstallation.


--
--------------------------------------------
Benoît Rousseau : roussebe at spray dot se
Jouez en programmant : http://realtimebattle.sourceforge.net/

Avatar
Pascal Bourguignon
"Anthony" writes:

Bonjour,

J'ai une question (juste pour curiosite) :
Comment peut-on desintaller un programme qu'on a installer a partir des
src ?
Je crois savoir qu'en faisant un "make uninstall" ds les src ca marche
seulement moi, je ne conserve pas les src en general. Est-ce possible
alors de desintaller le programme ?

Merci par avance de vos reponses


1- Lire les makefiles et établir la liste des fichiers intallés "à la
main".

2- Faire une installation chroot, puis comparer l'environnement avant
(on aura prit soin d'en garder une copie!) et après. Ça, ça marche
à tout les coup!

3- Si les makefiles utilisent de façon systématique install pour
installer les fichiers, on peut remplacer l'install standard par
unscript qui enregistre toutes ses invocations avec les
arguments. À partir de là, on peut inverser le processus (si aucun
fichier existant n'a été écrasé!).

En clair: il n'y a pas de solution miracle il faut que la
désinstallation soit prévue par le programmeur au départ.

D'un autre côté, je dois avoir dans mes /usr/local, des fichiers que
je traine depuis A/UX: pas la peine d'aller chercher où il sont pour
les purger, les disques sont de plus en plus gros...

--
__Pascal_Bourguignon__ . * * . * .* .
http://www.informatimago.com/ . * . .*
There is no worse tyranny than to force * . . / () . *
a man to pay for what he does not . . / . . * .
want merely because you think it .*. / * . .
would be good for him. -- Robert Heinlein . /* o .
http://www.theadvocates.org/ * '''||''' .
SCO Spam-magnet: ******************

Avatar
Emmanuel Florac
Dans article ,
disait...
Je crois savoir qu'en faisant un "make uninstall" ds les src ca marche
seulement moi, je ne conserve pas les src en general. Est-ce possible
alors de desintaller le programme ?



Ca dépend de l'OS. Par exemple sous Linux on peut utiliser le merveilleux
checkinstall. Il y a un autre outil du même genre dont le nom m'échappe,
quelque chose comme "rescan".

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?

Avatar
no
On Mon, 15 Dec 2003 21:25:53 +0100, Anthony wrote:


J'ai une question (juste pour curiosite) :
Comment peut-on desintaller un programme qu'on a installer a partir des
src ?
Je crois savoir qu'en faisant un "make uninstall" ds les src ca marche
seulement moi, je ne conserve pas les src en general. Est-ce possible
alors de desintaller le programme ?



Je vais répondre à coté :) et je vais plutôt te donner ma méthode pour
ne pas avoir à se poser cette question.

Je m'explique : je n'installe jamais les programmes compilé moi même à
partir des src dans l'arborescence « standard » /bin, /usr/bin, /lib,
etc. (je garde ça pour les package binaire (RPM dans mon cas), et les
package recompilé (SRPM))

J'installe ces autres programmes dans des répertoires séparés dans
/opt/nom_du_prog ou /opt/nom_de_la_lib, par ex., en spécifiant ce chemin
lors du ./configure avec l'option --prefix

Ce qui fait que tous les fichiers du programme sont dans le répertoire
/opt/nom_du_prog que je peux ensuite facilement supprimer.

Je crée /opt/nom_du_prog sous root et je fais un `chown moi.moi
/opt/nom_du_prog' pour pouvoir l'installer à partir de mon compte
utilisateur. Je compile le prog sous mon compte utilisateur avec
`./configure --prefix=/opt/nom_du_prog' et je l'installe.
L'installation sous un compte utilisateur permet de vérifier que
tout est bien installé dans ce repertoire /opt/nom_du_prog, impossible
d'aller écrire dans /etc ou /usr/lib. Ensuite je redonne les droits root
au répertoire `chown -R root.root /opt/nom_du_prog'

En plus ça permet d'installer différentes version d'un même programme,
une dans /opt/prog-1.2 et une autre dans /opt/prog-1.3

Ça ne répond donc pas vraiment à ta question, mais j'avoue que je me
suis posé cette question il y a un certain temps, et finalement depuis
que j'ai adopté cette méthode, je n'ai plus ce problème de comment
désinstaller tous ces fichiers dispersés partout...

Avatar
Rakotomandimby
Anthony wrote:

Bonjour,


Oui .
SI il y a une regle "uninstall" dans le makefile , tu peu re - decompresser
les sources , faire un "configure" EXACTEMENT AVEC LES MEMES OPTIONS que le
configure que t'as fait a l'installation , cela recréera un Makefile
identique , puis faire un "make" "make uninstall"

Sinon si tu utilise une Mandrake , Suse ou RedHat , je te deconseille les
methodes ./configure make make install parcequ'elle ne mettent pas a jours
la base RPM .

Je ne saurai que te conseiller de suivre la methode SRPMS decrite par
l'autre posteur .

--
http://mrakotom.free.fr

Avatar
[Sauron De Mordor]
Emmanuel Florac wrote:

Dans article ,
disait...

Je crois savoir qu'en faisant un "make uninstall" ds les src ca marche
seulement moi, je ne conserve pas les src en general. Est-ce possible
alors de desintaller le programme ?




oui checkinstall, comme epm permet de constuire des pakage a partire des
sources.

ce qui facilite l integration dans le systeme et surtout la maintenance



Ca dépend de l'OS. Par exemple sous Linux on peut utiliser le merveil leux
checkinstall. Il y a un autre outil du même genre dont le nom m'éch appe,
quelque chose comme "rescan".




Avatar
Anthony
Merci a tous pour vos reponses, ca confirme ce que je pensais => il y a
pas de recette magique ;-)

Par contre, vous m'avez pas mal parle de 'checkinstall', mais j'ai pas
trouve ds mes bouquins (Linux in a Ntushell et Le Systeme Linux) de
reference ds l'index a 'checkintall' (ggrrrr !!), du coup qq'un
pourrait-il m'expliquer en deux mots ce qu'il fait ?

Sinon j'ai une petite question :
Admettons que j'ai un programme installé et que j'ai supprime les src,
puis je me dis que j'en veux plus, je recupere les src et là : d'apres
Benoit, je dois juste lancer la configuration, mais d'apres Rakotom je
dois lancer la configuration + make ; je voudrais savoir ce qu'il en est ?
(Oui c'est vrai que je pourrais faire le test, mais vu que j'ai pas une
becane rapide, j'ai un peu la flemme ... dsl ;)

Merci encore pour vos aides et astuces (tres bonne de conserver le
Makefile ds /usr/local... -> Benoit | Pas mal non plus l'idée d'installer
les programmes ds /opt pour la gestion de plusieurs versions -> Bravo No
;-)

Pour info, je suis sous Slackware (je me suis fait cd d'installation avec
les tagfiles et apres tous le reste, je compile moi-meme), mais je pense
qu'a terme je pense passer sur une LFS avec un PC + puissant (un jour peut
etre je changerai mon PC ... !?)

Anthony
Avatar
Kevin
Le Tue, 16 Dec 2003 18:31:36 +0100, Anthony a ecrit:
|
| Par contre, vous m'avez pas mal parle de 'checkinstall', mais j'ai pas
| trouve ds mes bouquins (Linux in a Ntushell et Le Systeme Linux) de
| reference ds l'index a 'checkintall' (ggrrrr !!), du coup qq'un
| pourrait-il m'expliquer en deux mots ce qu'il fait ?
|
au lieu de taper "make install" tu tapes checkinstall.
Il surveille tout les fichiers copies, tous les fichiers deplaces, tous
les fichiers lies pour en faire un index.
Il te propose de creer un paquet slackware, debian ou rpm et de te
l'installer.
Ta base de paquetage est a jour.
Tu desinstalles le programme tres facilement avec ton gestionnaire
habituel.

| Pour info, je suis sous Slackware (je me suis fait cd d'installation avec
| les tagfiles et apres tous le reste, je compile moi-meme), mais je pense
| qu'a terme je pense passer sur une LFS avec un PC + puissant (un jour peut
| etre je changerai mon PC ... !?)
|
et sous slack, je te conseille swaret (http://www.swaret.org) un tres bon
complement a slack.
Ca telecharge les paquets depuis differents sites, ca verifie les
dependances a l'installation, ca peut upgrader une distrib sans heurts.

--
Kevin
Termine??!
-+- Les 100 choses que vous n'aimez pas entendre de la part du sysadmin -+-