26

I have pssh package installed in my Ubuntu 11.10 x64 system. And I can run the program via calling parallel-ssh However, pssh gives me

$ 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

Why does this happen and what is a right way to get pssh command working?

P.S. I know that I can create link named /usr/bin/pssh linked to /usr/bin/parallel-ssh but these seems dirty hack to me. :(

2
  • pssh is not in your executable path. It doesn't sound like a dirty hack to me. If you dont like it, you could move it to your PATH. alternatively, you could put it in your /home/$USER/bin and execute it from there.
    – j0h
    Apr 29, 2016 at 17:56
  • My solution: echo "alias pssh=parallel-ssh" >> ~/.bashrc && . ~/.bashrc
    – bmaupin
    Jun 19, 2017 at 14:02

3 Answers 3

41

Regarding the why, see /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

About that symlink, a slightly cleaner solution is creating /usr/local/bin/pssh symlink and let it point to /usr/bin/parallel-ssh. With the exception of /usr/local/ it is generally best to leave the content of /usr/ to the package manager. By default /usr/local/bin is too part of the PATH environment.

0
12

Try with parallel-ssh it has been renamed.

Quote from package description:

 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.
1

Sometimes the name of the command used to start the program isn't the same as the name of the package that you installed to get said program.

I recently found this when I installed Maze of Galious to give it a go, it didn't show up in the Games menu and it took me a couple minutes to find out that to start the game I had to go to terminal and type 'mog'. /anecdote.

This could happen for variety of reasons, maybe the name (like in my anecdote) is too long to be a reasonable name for the command, maybe the name the developer wanted was already chosen, maybe the developer had brain-worms and just wanted to mess with you by calling it something totally random -- the why isn't worth worrying about, if you want to 'fix' it just use an alias or a sym/hard link.

If it bothers you that much you could submit a change request upstream, but if the developer chose that name s/he likely had a good reason.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .