A resposta óbvia, "instale o comando na máquina remota", é a solução mais limpa, portanto, não devemos ignorá-la:
Se for possível instalar o comando como root, por exemplo
sudo apt-get install fish
, com ,
o comando poderá ser executado assim:
ssh remote -t fish
A questão é sobre o que fazer quando não podemos instalar um comando no computador remoto.
Ou, mais especificamente, é sobre o caso em que não podemos instalar um comando como root .
Isso não significa que não podemos instalar!
O que ainda é possível é instalar o comando dentro do diretório inicial , construindo-o a partir da fonte .
Isso tem a vantagem de cuidar de todos os arquivos de suporte associados que podem vir com um comando e de como o programa os encontra. No fish
exemplo do shell, essas são as funções de conclusão, etc, todas não disponíveis se apenas copiarmos o fish
binário.
A criação de um comando a partir da fonte precisa de ferramentas de desenvolvimento e arquivos de desenvolvimento das bibliotecas usadas, o que pode ser muito complicado.
Mas muitos programas vêm com tudo o que precisam em conjunto nas fontes, portanto pode ser fácil. Difícil dizer antes, mas pode-se apenas tentar.
Para instalar um comando no diretório inicial, configure
é fornecido o caminho para instalação - que precisa ser verificado nas instruções de construção. Por exemplo:
mkdir ~/local
./configure --prefix=~/local
make
make install
Observe que não sudo make install
é o habitual - pois é o ponto principal de instalá-lo localmente para não precisar do sudo aqui.
Para obter informações gerais sobre a instalação de programas a partir da fonte, consulte askubuntu.SE: Como instalo um arquivo .tar.gz (ou .tar.bz2)?