STOW - Installer ses applications dans $HOME

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 pacquages. Simplement il installe et désinstalle des applications dans une arborescence. Il prend aussi en compte les versions et les conflits. 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 applications 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’arborescence 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. C’est à dire qu’on compile à partir des sources et qu’on l’installe dans le répertoire STOW/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’autres applications en effectuant les 2 dernières instructions.
  • Pour Nano par exemple on le compile et on l’installe dans un répertoire STOW/NANO. Ensuite on utilise STWO sur NANO pour qu’il l’installe dans /bin

Petite Remarque : Pour une utilisation plus facile on modifiera quelques variables d’environnement comme par exemple : PATH

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 environnement UNIX Solaris. Avec un utilisateur de base sans droit particulier.

  cd ~/<br />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 conserve les Fichiers dans un répertoire pour une possible utilisation ultérieur.

  cd ~/local/download<br />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<br />./configure --prefix=$HOME/local/stow/stow-1.3.3
  make
  make install

Ici on génère et installe le pacquage STOW.

  cd ~/local/stow/
  ~/local/stow/stow-1.3.3/bin/stow stow-1.3.3

On installe SLOW dans notre propre arborescence de référence. Le fichier stow et notamment installé dans ~/local/bin.

  export MANPATH=/local/man:$MANPATH
  export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
  export TERM=vt99
  export PATH=$HOME/local/bin:$PATH

On définie des variables d’environnement utiles pour exé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 arborescence 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 arborescence de référence.

nano

Voilà, on peut utiliser un bon éditeur de texte, certes moins complet que VI mais suffisant pour une utilisation simple. Notre éditeur est installé dans notre arborescence personnel.

Condition du test :

Environnement : Solaris 10


Creative Commons License

Un petit article interressant (STOW et Node.js) chez le Touv