meta données pour cette page
  •  

Ceci est une ancienne révision du document !


sb

sb est un outil de mémorisation et d'installation de paquets unix sources.

Souvent, on récupère une archive tar, on la détarre, on entre dans le répertoire créé, on lance les commandes ./configure, make et make install.

sb fait tout cela et plus. la commande

sb unpaquet.tar.gz
  • ouvre l'archive
  • execute ./configure
  • execute make
  • execute make install
  • utilise stow pour déployer le logiciel dans un répertoire privé
  • enregistre un journal complet de toute l'activité de compilation et d'installation

Licence

sb est libre et grauit, distribué sous les termes de la licence publique générale GNU, dont une traduction non officielle est disponible sur la page de la FSF France.

sb contient le logiciel stow (pour faciliter l'installation de sb lui même). stow est également sous licence publique générale GNU.

Téléchargement

Le source complet de sb est aussi disponible sb-latest.tar.gz. Notez que le source n'est utile que si vous avez installé la libsh

Installation

Normalement, après avoir téléchargé sb.gz, ces deux commandes devraient suffire pour installer sb dans /usr/local/stow-dir et donnez l'illusion qu'il est installé dans /usr/local.

moi@monpc $ gzip -d sb.gz
moi@monpc $ bash ./sb -bootstrap /usr/local
Password:
sb: stow not found. installing embeded stow.
moi@monpc $ 

Voilà l'arborescence qui est créé :

/usr/local/
|-- bin
|   |-- sb -> ../stow-dir/sb-20120430-165300/bin/sb
|   `-- stow -> ../stow-dir/stow-1.3.3/bin/stow
|-- share
|   `-- man
|       |-- man1 -> ../../stow-dir/sb-20120430-165300/share/man/man1
|       `-- man8 -> ../../stow-dir/stow-1.3.3/share/man/man8
`-- stow-dir
    |-- inventory
    |   `-- sb_20120430-165300
    |-- sb-20120430-165300
    |   |-- bin
    |   |   `-- sb
    |   `-- share
    |       `-- man
    |           `-- man1
    |               `-- sb.1.gz
    `-- stow-1.3.3
        |-- bin
        |   `-- stow
        `-- share
            `-- man
                `-- man8
                    `-- stow.8.gz

Questions et réponses

J'ai déjà plein de bazar dans /usr/local, puis-je tout de même utiliser sb ?

oui, sb se mélangera sans souci avec l'existant. Puisqu'il utilise stow et qu'il s'installe dans son propre sous répertoire de stow lui même, il n'y a aucun problème.

Je n'aime pas utiliser sudo, que faire ?

Utiliser sudo est recommandé. Vous configurez et compilez les programme sous votre identité, et seulement au moment de l'installation vous basculez vers l'identité de l'administrateur. Cela dit, vous pouvez ne pas vouloir/pouvoir utiliser sudo, dans ce cas installez comme ça :

moi@monpc $ bash ./sb -S no -bootstrap /usr/local
J'ai sudo et je veux l'utiliser mais il est dans un endroit inhabituel

sb utilise par défaut la première instance de sudo qu'il trouve dans le PATH, mais on peut facilement lui indiquer un autre sudo. Ce sera toujours la version de sudo que vous indiquez qui sera utilisée.

moi@monpc $ bash ./sb -S /copie/locale/de/sudo -bootstrap /usr/local
moi@monpc $ bash # ou encore
moi@monpc $ bash ./sb -S /opt/bin/sudo -bootstrap /usr/local
J'utilise déjà stow, mais avec un autre répertoire, comment faire ?

Indiquez le répertoire stow que vous utilisez, relativement à la base de l'installation

moi@monpc $ bash ./sb -bootstrap /usr/local mon-rep-stow

et tout sera installé dans /usr/local/mon-rep-stow.

sb est installé mais je veux maintenant changer le comportement par rapport à sudo ou au chemin d'installation par défaut etc... comment faire ?
moi@monpc $ man sb
sb, c'est de la merde, je l'ai installé par erreur. Comment faire pour enlever le bazar ?

Vous pourriez être un peu plus poli tout de même, non ?

La désinstallation est manuelle. Si vous avez pratiqué une installation standard, le principe est le suivant :

  1. Se placer dans /usr/local
  2. utiliser stow pour dé-stowifier sb et stow
  3. enlever physiquement stow et sb
  4. enlever le répertoire inventory de sb qui conserve les historiques d'installation.
  5. enlever le répertoire stow-dir si vous n'avez aucune application stowifiée
  6. éventuellement, enlever le répertoire de base si vous n'aviez rien dedans avant et s'il ne reste pas d'application stowifiée que vous voulez conserver.

Ces commandes sont un exemple, réfléchissez avant de les utiliser. Adaptez à votre installation.

Ces commandes ne sont normalement pas très dangereuses, qu'elles réussissent ou pas, mais, encore je ne donne ici qu'un exemple basé sur mon installation.

C'est vous qui les tapez ou adaptez, c'est de votre faute si quelque chose se passe mal.

moi@monpc $ man brain && use brain
moi@monpc $ cd /usr/local/stow-dir
moi@monpc $ sudo stow -D stow-1.3.3
moi@monpc $ sudo stow-1.3.3/bin/stow -D sb_20*
moi@monpc $ sudo rm -rf sb_20*
moi@monpc $ sudo rm -rf stow-1.3.3
moi@monpc $ sudo rm -rf inventory
moi@monpc $ # Poursuivez avec les autres commandes, certaines peuvent échouer c'est normal, sans danger (normalement) et sans gravité (normalement aussi).
moi@monpc $ cd ..
moi@monpc $ sudo rmdir stow-dir
moi@monpc $ cd ..
moi@monpc $ sudo rmdir local