Cluster administration with pconsole
Note: You may want to consider using ClusterSSH (clusterssh package for Fedora users) as it appears to be superior to pconsole.
pconsole, a "parallel console
tool," is an excellent way to administer
several machines at the same time. Every command typed is sent
simultaneously to each
of your attached terminals. By default, pconsole uses ssh for secure
remote
administration. Visit the pconsole
home page to learn more.
Installing pconsole:
$ wget http://www.heiho.net/pconsole/pconsole-1.0.tar.gz
$ tar zxvf pconsole-1.0.tar.gz
$ cd pconsole-1.0
/usr/local/bin/pconsole.sh contains function declaration syntax not compatible with the Bourne shell. The following change is needed on any system where /bin/sh is the Bourne shell (e.g. Solaris).
$ sed 's/function get_tty {/get_tty () {/' pconsole.sh.in > pconsole.sh.in.new
$ mv pconsole.sh.in.new pconsole.sh.in,
$ ./configure
$ make
# make install
Configuring pconsole
pconsole requires root
privileges. You may make pconsole
SUID to run it
as a non-privileged user. pconsole
should not be world-executable, so
change group ownership on the pconsole
utilities so that only you or members
of an administrative group may execute pconsole.
$ cd /usr/local/bin
# chmod 4750 pconsole
# chgrp your_group pconsole pconsole.sh ssh.sh
Using pconsole
Using pconsole is as simple
as pconsole.sh hostname(s).
It
is convenient to use aliases for pconsole
as demonstrated in the following example:
alias mail_relays='P_CONNECT_CMD="ssh -l user_ID"
P_TERM_OPTIONS="-geometry
80x25 -bg white" pconsole.sh host1 host2 host3 host4'
In the example alias above, I change the xterm geometry (the default is
almost
illegible) and specify my user ID on the remote systems (it is the not
the
same as my local user ID).
Please read the pconsole documentation
for
more information on these environment variables and other options.
Ubuntu instructions
The Ubuntu pconsole package places pconsole.sh and ssh.sh in /usr/share/doc/pconsole/examples. Here is how I configured pconsole on my Ubuntu system:
1. $ (cd /usr/share/doc/pconsole/examples; sudo cp pconsole.sh ssh.sh /usr/local/bin)
2. $ sudo chmod u+s /usr/bin/pconsole
3. $ sudo sed --in-place 's|^#! /bin/sh|#!/bin/bash|' /usr/local/bin/pconsole.sh
4. Added the following to ~/.bashrc:
export P_CONNECT_CMD="ssh -l hutchib"
export P_TERM_OPTIONS="-geometry 80x25 -bg white"
alias p=pconsole.sh "$@"
5. Sourced ~/.bash_profile for my current login.
$ . ~/.bash_profile
Back to brandonhutchinson.com.
Last modified: 2007/02/09