<CHAPTER ID="Installation">
<TITLE>Cluster Installation</TITLE>

<SECT1>
<TITLE>Cluster Installations</TITLE>
<PARA>
This chapter does not deal with installing openMosix as such, it does 
however deal with installing multiple machines with openMosix.
Automated or semi automated mass installs.

</PARA>
</SECT1>

<!--


<SECT1>
<TITLE>Installation scripts [LUI, ALINKA]
</TITLE>
<PARA>  

</PARA>
</SECT1>

<SECT1>
<TITLE>Setting up your own Apt Repository
</TITLE>
<PARA>  

</PARA>
</SECT1>

<SECT1>
<TITLE>Oscar
</TITLE>
<PARA>  

</PARA>
</SECT1>

<SECT1>
<TITLE>System Imager
</TITLE>
<PARA>  

</PARA>
</SECT1>

<SECT1>
<TITLE>up2date environments, such as Current
</TITLE>
<PARA>  

</PARA>
</SECT1>


<SECT1>
<TITLE>The easy way: Automatic installation
</TITLE>
<PARA>  

</PARA>
</SECT1>

<SECT1>
<TITLE>The hard way: When scripts don't work
</TITLE>
<PARA>  

</PARA></SECT1>


<SECT1>
<TITLE>Kick Start Installations
</TITLE>
<PARA>  

</PARA>

</SECT1>

-->

<SECT1>
<TITLE>DSH,  Distributed Shell
</TITLE>
<PARA>  
At the time of this writing (May 2003) DSH's most current release is 
available from <ulink 
url="http://www.netfort.gr.jp/~dancer/software/downloads/">
<citetitle>http://www.netfort.gr.jp/~dancer/software/downloads/</citetitle>
</ulink>

More info on the package can be found on 
<ulink url="http://www.netfort.gr.jp/~dancer/software/dsh.html">
<citetitle>http://www.netfort.gr.jp/~dancer/software/dsh.html</citetitle></ulink>

The latest version available for download is 0.23.6
You will need both libdshconfig-0.20.8.tar.gz  and dsh-0.23.5.tar.gz  

Start with installing libdshconfig 
<programlisting>
./configure
make
make install 
</programlisting>

Repeat the process for the dsh package.
</PARA>
<PARA>
Say we have a small cluster with a couple of nodes.  
To make life easier we want type each command once but have it executed 
on each node.  You then have to create a file in 
$HOME/.dsh/group/clusterwname that lists the ip's of your cluster.
eg.

<PROGRAMLISTING>
[root@inspon root]# cat .dsh/group/mosix 
192.168.10.220
192.168.10.84
</PROGRAMLISTING>

As an example we run ls on each of these machines 
We use -g to use the mosix group (this way you can create subsets of a 
group with different configurations)

<PROGRAMLISTING>
[root@inspon root]# dsh -r ssh -g mosix ls
192.168.10.84: anaconda-ks.cfg
192.168.10.84: id_rsa.pub
192.168.10.84: install.log
192.168.10.84: install.log.syslog
192.168.10.84: openmosix-kernel-2.4.17-openmosix1.i686.rpm
192.168.10.84: openmosix-tools-0.2.0-1.i386.rpm
192.168.10.220: anaconda-ks.cfg
192.168.10.220: id_dsa.pub
192.168.10.220: id_rsa.pub
192.168.10.220: openmosix-kernel-2.4.17-openmosix1.i686.rpm
192.168.10.220: openmosix-tools-0.2.0-1.i386.rpm
192.168.10.220: oscar-1.2.1rh72
192.168.10.220: oscar-1.2.1rh72.tar.gz
</PROGRAMLISTING>

Note that neither of the machines ask for a password.
This is because we have set up RSA authentication between the different 
accounts.    If you want to run commands with multiple parameters you will 
either have to put the command between quotes. 

<PROGRAMLISTING>
[root@inspon root]# dsh -r ssh -g mosix "uname -a"
192.168.10.84: Linux omosix2.office.be.stone-it.com 2.4.17-openmosix1 #1 
Wed May 29 14:32:28 CEST 2002 i686 unknown
192.168.10.220: Linux oscar0 2.4.17-openmosix1 #1 Wed May 29 14:32:28 CEST 
2002 i686 unknown
</PROGRAMLISTING>

or use the -c --  option. Both give basically the same output.

<PROGRAMLISTING>
[root@inspon root]# dsh -r ssh -g mosix -c -- uname -a 
192.168.10.220: Linux oscar0 2.4.17-openmosix1 #1 Wed May 29 14:32:28 CEST 
2002 i686 unknown
192.168.10.84: Linux omosix2.office.be.stone-it.com 2.4.17-openmosix1 #1 
Wed May 29 14:32:28 CEST 2002 i686 unknown
</PROGRAMLISTING>


</PARA>

</SECT1>

</CHAPTER>

