La réponse évidente, "installez la commande sur la machine distante", est la solution la plus propre, nous ne devons donc pas l'ignorer:
S'il est possible d'installer la commande en tant que root, par exemple avec
sudo apt-get install fish
,
la commande peut être exécutée comme ceci:
ssh remote -t fish
La question est de savoir quoi faire lorsque nous ne pouvons pas installer une commande sur l'ordinateur distant.
Ou plus précisément, il s'agit du cas où l' on ne peut pas installer une commande en tant que root .
Cela ne signifie pas que nous ne pouvons pas installer du tout!
Ce qui est encore possible, c'est d'installer la commande dans le répertoire personnel en la construisant à partir de la source .
Cela a l'avantage de prendre en charge tous les fichiers de support associés qui peuvent être fournis avec une commande et la façon dont le programme les trouve. Dans l' fish
exemple du shell, ce sont les fonctions d'achèvement, etc., toutes non disponibles si nous copions simplement le fish
binaire.
Construire une commande à partir de la source nécessite des outils de développement et des fichiers de développement des bibliothèques utilisées, ce qui peut être trop compliqué.
Mais de nombreux programmes sont livrés avec tout ce dont ils ont besoin regroupés dans les sources, donc cela peut être facile. Difficile à dire avant, mais on peut juste essayer.
Pour installer une commande dans le répertoire personnel, configure
le chemin d'installation est fourni avec - qui doit être vérifié dans les instructions de construction. Par exemple:
mkdir ~/local
./configure --prefix=~/local
make
make install
Notez que ce n'est pas sudo make install
comme d'habitude - car c'est tout l'intérêt de l'installer localement pour ne pas avoir besoin de sudo ici.
Pour des informations générales sur l'installation de programmes à partir des sources, consultez askubuntu.SE: Comment installer un fichier .tar.gz (ou .tar.bz2)?