STOW ou comment installer ses applications dans $HOME
Utilisation de STOW.
Introduction :
STOW c'est quoi ? Voilà une bonne question !
C'est une commande qui permet la gestion de packages.
Simplement
il installe et désinstalle des applications dans une arboressence. Il
prends aussi en compte les versions et les conflict.
Cool !! Mais à
quoi ça va me servir à moi. Et bien si comme moi vous travaillez dans
un environnement Unix où vous n'avez pas les droits root alors STOW va
vous installer vos application préférées dans votre répertoire
personnel.
De plus quand vous voulez désinstaller une application
pas besoin de se rappeler les fichiers qu'on a installé. Une commande
suffit pour tout enlever proprement.
Principe de fonctionnement de STOW :
- Dans un premier temps on crée l'arboressence de référence qui va contenir nos applications.
On y retrouve les répertoires de base d'une installation UNIX :
/bin ; /etc ; /usr....
On y rajoute un répertoire stow qui va contenir tous les répertoires des installation des applications que l'on veut installer.
- Puis on installe STOW.
- On utilise STOW sur lui même
STOW va donc installer la commande stow dans notre répertoire /bin
- Voilà on a installé notre première application (STOW lui même). On peu à présent installer d'autre application on effectuant les 2 dernières instructions.
Petite Remarque :
Exemple avec l'installation de Nano :
On part de zéro. On installe tout de A à Z.
J'ai testé cette procédure sur un environement UNIX Solaris.
Avec un utlisateur de base sans droit particulier.
cd ~/ wget ftp://gatekeeper.dec.com/pub/GNU/stow/stow-1.3.3.tar.gz wget http://www.nano-editor.org/dist/v2.0/nano-2.0.3.tar.gz wget ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.6.tar.gz
On télécharge les différents fichiers utiles à notre exemple.
mkdir ~/local mkdir ~/local/download mkdir ~/local/stow mkdir ~/local/info mkdir ~/local/share mkdir ~/local/lib mkdir ~/local/man mkdir ~/local/man/man1 mkdir ~/local/man/man2 mkdir ~/local/man/man3 mkdir ~/local/man/man4 mkdir ~/local/man/man5 mkdir ~/local/man/man6 mkdir ~/local/man/man8 mkdir ~/local/sbin
On crée une structure de base pour la gestion des installations par STOW. Le répertoire ~/local/stow contiendra tous les répertoires des logiciels à installer
cp ~/stow-1.3.3.tar.gz ~/local/download/ cp ~/ncurses-5.6.tar.gz ~/local/download/ cp ~/nano-2.0.3.tar.gz ~/local/download/
On concerve les Fichiers dans un répertoire pour une possible utilisation ultérieur.
cd ~/local/download gunzip < ~/local/download/stow-1.3.3.tar.gz | tar xvf - gunzip < ~/local/download/ncurses-5.6.tar.gz | tar xvf - gunzip < ~/local/download/nano-2.0.3.tar.gz | tar xvf -
On extrait les fichiers dans des répertoires distinct.
cd ~/local/download/stow-1.3.3 ./configure --prefix=$HOME/local/stow/stow-1.3.3 make make install
Ici on génére et installe le package STOW.
cd ~/local/stow/ ~/local/stow/stow-1.3.3/bin/stow stow-1.3.3
n installe STOW dans notre propre arboressence de référence.
Le fichier stow et notament installé dans ~/local/bin.
export MANPATH=/local/man:$MANPATH export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH export TERM=vt100 export PATH=$HOME/local/bin:$PATH
On définie des variables d'environnement utiles pour éxécuter nos programmes dans la console.
cd ~/local/download/ncurses-5.6
./configure CPPFLAGS="-I $HOME/local/include/ncurses"
--prefix=$HOME/local/stow/ncurses-5.6
make
make install
cd ~/local/stow
stow ncurses-5.6
Donc on l'installe dans un sous répertoire de stow et on l'installe dans notre arboressence de référence avec stow. Nano est dépendant de NCURSES.
cd ~/local/download/nano-2.0.3
./configure CPPFLAGS="-I $HOME/local/include/ncurses"
--prefix=$HOME/local/stow/nano-2.0.3
make
make install
cd ~/local/stow
stow nano-2.0.3
Enfin on installe nano dans un sous répertoire de stow et on l'installe avec STOW dans notre arboressence de référence.
nano
Voilà, on peut utiliser un bon éditeur de texte, certe moins complet que VI mais suffisant pour une utilisation simple.Notre éditeur est installé dans notre arboressence peronnel.
Condition du test :
Environnement : Solaris 10