(Courriels de diversion: <interposees@identite-voltigeaient.com> <nurse@parsemes-applicateur.com> <vaquais@encherissait-aspirions.com> <feuillete@enlaceraient-populations.com> <concomitant@desabonnons-reclassee.com> <trompiez@enchaînerons-maisons.com> <saupiquet@commuera-deuxieme.com> <resolviez@terrassent-decevriez.com> <dechiffrait@allongee-restaureraient.com> <tresser@persecuterons-friture.com> )
Il y a quelques temps, Laurent MOUSSAULT avait cause d'un utilitaire qui s'appelle Stow. Aujourd'hui, a la reunion, des gens ont eu un petit apercu de cet utilitaire tres pratique pour installer et DESINSTALLER des .tgz. Ils ont trouve ca interessant, docn je fais une mini-presentation. ******** * STOW * ******** L'UTILITAIRE QU'IL VOUS FAUT Voila le principe: ** on cree un repertoire /usr/local/stow. ** Quand on veut installer (mettons) vim 5.3 a partir d'un tgz, on cree un repertoire /usr/local/stow/vim_5.3. on decompresse l'archive vim_5.3.tgz dans /tmp, on fait le ./configure avec le prefix '--prefix=/usr/local/stow/vim_5.3' on fait le make; make install. Et oh miracle, vim5.3 s'installe dans /usr/local/stow/vim_5.3. En fait, les binaires sont (automatiquement) dans /usr/local/stow/vim_5.3/bin, les doc (automatiquement) dans /usr/local/stow/vim_5.3/doc/vim, les man dans /usr/local/stow/vim_5.3/man/man1, les fichiers share dans /usr/local/stow/vim_5.3/share/vim. ** Et la, l'utilitaire stow rentre en jeu: en allant dans /usr/local/stow, et en tapant 'stow vim_5.3', le programme va automatiquement faire des liens symboliques des fichiers de /usr/local/stow/vim_5.3/bin dans /usr/local/bin, de ceux de /usr/local/stow/vim_5.3/doc/vim dans /usr/local/doc/vim etc. On se retrouve donc avec tous les fichiers de vim 5.3 ranges dans un seul repertoire mais accessible via /usr/local. ** Quand le vim 5.4 va sortir, j'effacerai le 5.3 en allant dans /usr/local/stow et en faisant 'stow -D vim_5.3'. A partir de la, tous les liens symboliques sont effaces, et apres un petit 'rm -Rf /usr/local/stow/vim_5.3', je serai sur que le programme aura ete efface COMPLETEMENT de mon disque! ** Voici comme exemple mon /usr/local/stow actuel: acroread_3 fpc_0.99.8 nedit_5.0.2 wxxt_1.66 amp_0.7.6 gd_1.3 rar_2.0 xanim_2.70.7.0 candleweb_1.1 kermit_6.0.192 snes9x xfractint_3.04 demos klyx_0.9.3 staroffice_4.0 xmame_0.34b3.1 dosemu_0.98.2 l3enc_2.72 tkdesk_1.0b5 xmp_1.1.2 dozer-0.7.2b libtermcap_1.3 tkfont_1.1 xpinguin dumb-games linuxconf_1.13r4 vim_5.3 xpostit+_2.3 dumb_0.13.2 mp3 wine c'est assez clean, et chaque programme est dans son sous-repertoire propre. Et meme si le /usr/local est un peu "bordelique", je garde toujours un controle absolu des .tgz que j'ai installe :) ** Quand on a une distrib style RedHat ou Debian, on peut ainsi separer l'abre /usr ou les packages rpm ou deb sont installes, de l'arbre /usr/local ou on installe les .tgz venus du net. Et quand j'aurai vim 5.3 dispo en package pour ma Debian, je n'aurai qu'a desinstaller le tgz avec la manip citee plus haut et a installer le .deb pour me retrouver avec une distrib absolument propre. Voila. -- Olivier qui aime bien stow. PS: je me permets de remettre le message de Laurent, qui etait (peut-etre? ;-) plus clair que le charabia que je viens de pondre. >As-tu deja essaye l'utilitaire "stow", du GNU? Ca permet d'installer chaque >appli dans son propre repertoire, puis de creer/effacer automatiquement des >liens vers les repertoires du systeme. Per exemple, Gnome est dans >"/usr/local/stow/gnome/bin", "/usr/local/stow/gnome/lib", etc., et des >liens sont crees dans "/usr/local/bin" et "/usr/local/lib" avec une simple >commande. > >Ca n'a pas tous les avantages des .deb, .rpm et autres .stl, mais c'est >*beaucoup* plus simple a mettre en oeuvre, et ca fonctionne avec a peu pres >tous les sources que j'ai rencontre (particulierement si ca utilise >configure, il suffit de faire "./configure --prefix=/usr/local/stow/toto", >"make install" puis "cd /usr/local/stow ; stow toto"). > >-- Laurent - Le CULTe sur le ouebe > http://savage.iut-blagnac.fr/ La page de linux-31 > http://savage.iut-blagnac.fr/linux-31/