7 votes

Puis-je utiliser une commande (telle que "tree") sans l'installer dans tout le système ?

Je suis connecté à une boîte Linux par SSH sur laquelle je n'ai pas de privilèges administratifs. La commande que je souhaite utiliser s'appelle tree mais il n'est pas installé.

Y a-t-il un moyen de charger le tree dans mon répertoire personnel et l'exécuter sans avoir besoin de l'installer dans tout le système ?

6voto

cYrus Points 20338

tree ne semble pas avoir de dépendances particulières (libc6) donc je suppose que vous pouvez simplement copier l'exécutable (situé dans le répertoire which tree sur un autre système avec tree installé ou bien vous pouvez le compiler à partir des sources, aquí la page d'accueil du projet) dans un répertoire sur la machine Linux à laquelle vous êtes connecté, par exemple ~/bin/ alors il vous suffit de mettre à jour votre $PATH pour ajouter ce répertoire.

Si vous utilisez Bash mettez ceci dans votre ~/.bashrc :

PATH=$PATH:~/bin/

Veillez à faire correspondre l'architecture et le système d'exploitation.

5voto

davidcondrey Points 1588
cd $HOME
# download latest tree source to home directory
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
# unpack
tar xzfv tree-1.7.0.tgz
cd tree-1.7.0/
make
# install to $HOME directory
make install prefix=$HOME/bin
# this will create folders bin, and man
cd $HOME
# remove original source folder
rm -rf tree-1.7.0

# run tree
$HOME/bin/tree
# view man page
$HOME/man tree

3voto

spong Points 875

Vous le construisez et l'installez généralement sur le préfixe $HOME . Cela signifie que le binaire irait dans $HOME/bin les bibliothèques en $HOME/lib et ainsi de suite. Ensuite, vous vous assurez que ces répertoires apparaissent sur $PATH , $LD_LIBRARY_PATH , $MAN_PATH etc (habituellement en éditant vos fichiers de démarrage Shell) et cela fonctionnera de manière transparente.

Voici une recette qui fonctionnera avec de nombreux programmes

$ cd $HOME
$ mkdir src
$ cd src
$ wget http://host.name/path/to/program.tgz
$ tar xzfv program.tgz
$ cd program
$ ./configure --PREFIX=$HOME
$ make
$ make install

Notez que, contrairement à l'installation sur /usr/local il n'y a jamais besoin du privilège de l'administrateur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X