Por que o comando pssh não está funcionando?

20

Eu tenho o pacote pssh instalado no meu sistema Ubuntu 11.10 x64. E eu posso executar o programa chamando parallel-ssh No entanto, o pssh me fornece

$ pssh
No command 'pssh' found, did you mean:
 Command 'bssh' from package 'avahi-ui-utils' (universe)
 Command 'cssh' from package 'clusterssh' (universe)
 Command 'ssh' from package 'openssh-client' (main)
 Command 'posh' from package 'posh' (universe)
 Command 'pdsh' from package 'pdsh' (universe)
 Command 'mssh' from package 'mssh' (universe)
 Command 'zssh' from package 'zssh' (universe)
 Command 'rssh' from package 'rssh' (universe)
 Command 'ppsh' from package 'ppsh' (universe)
 Command 'push' from package 'heimdal-clients' (universe)
pssh: command not found

Por que isso acontece e qual é a maneira correta de obter o comando pssh funcionando?

PS: Eu sei que posso criar um link chamado / usr / bin / pssh vinculado a / usr / bin / parallel-ssh, mas isso parece um truque sujo para mim. :(

Samat
fonte
O pssh não está no seu caminho executável. Não parece um truque sujo para mim. Se você não gostar, poderá movê-lo para o seu PATH. Como alternativa, você pode colocá-lo em sua / home / $ USER / bin e executá-lo a partir daí.
J0h 29/04
Minha solução:echo "alias pssh=parallel-ssh" >> ~/.bashrc && . ~/.bashrc
bmaupin

Respostas:

31

Sobre o porquê, consulte /usr/share/doc/pssh/README.Debian.

To avoid any conflicts with the putty package, all of the programs have been
renamed.

parallel-ssh is pssh
parallel-scp is pscp
parallel-rsync is prsync
parallel-nuke is pnuke
parallel-slurp is pslurp

Sobre esse link simbólico, uma solução um pouco mais limpa está criando o link simbólico / usr / local / bin / pssh e deixe apontar para / usr / bin / parallel-ssh. Com exceção de / usr / local /, geralmente é melhor deixar o conteúdo de / usr / para o gerenciador de pacotes. Por padrão, / usr / local / bin também faz parte do ambiente PATH.

andol
fonte
11

Tente com parallel-sshele foi renomeado.

Citação da descrição do pacote:

 The package contains:
 .
  - Parallel ssh (parallel-ssh, upstream calls it pssh), executes commands on
    multiple hosts in parallel
  - Parallel scp (parallel-scp, upstream calls it pscp), copies files to
    multiple remote hosts in parallel
  - Parallel rsync (parallel-rsync, upstream calls it prsync), efficiently
    copies files to multiple hosts in parallel
  - Parallel nuke (parallel-nuke, upstream calls it pnuke), kills processes on
    multiple remote hosts in parallel
  - Parallel slurp (parallel-slurp, upstream calls it pslurp), copies files
    from multiple remote hosts to a central host in parallel
 .
 These tools are good for controlling large collections of nodes, where faster
 alternatives such as gexec and pcp are not available.
lgarzo
fonte
1

Às vezes, o nome do comando usado para iniciar o programa não é o mesmo que o nome do pacote que você instalou para obter o programa.

Recentemente, descobri isso quando instalei o Maze of Galious para testar, ele não apareceu no menu Jogos e levei alguns minutos para descobrir que para iniciar o jogo eu precisava ir ao terminal e digitar ' mog '. /anedota.

Isso pode acontecer por várias razões, talvez o nome (como na história) seja longo demais para ser um nome razoável para o comando, talvez o nome que o desenvolvedor desejasse já tenha sido escolhido, talvez o desenvolvedor tenha worms cerebrais e apenas queira mexa com você chamando de algo totalmente aleatório - o motivo pelo qual não vale a pena se preocupar, se você quiser 'consertar', basta usar um alias ou um link simbólico / físico.

Se isso te incomoda que muito que você poderia enviar uma solicitação de alteração a montante, mas se o desenvolvedor escolheu esse nome s / ele provavelmente tinha uma boa razão.

Jeff Welling
fonte