/usr/local/rush is recommended. Extract the tar file as:
cd /usr/local gunzip -c /tmp/rush-xxxxx.tar.gz | tar xvfp -Note the importance of the tar 'p' flag, to preserve permissions.
To install the system on a large network, first install the software on the license server(s), get everything working, then rdist(1) the directory tree to all the other machines on your network.
If you install rush in another location, then you must be sure the $RUSH_DIR environment variable points to the directory, and this variable must be set a) before the daemon is started and b) in all user environments. You will make life easier if you install rush in /usr/local/rush.
WARNING: As with all daemons and their config files, do *not* install the rush directory or binaries on an NFS mounted drive. Keep rush binaries local to each machine.
2) Configure the /usr/local/rush/etc/hosts file
It should contain the names of all hosts that participate in rendering. See Hosts File for descriptions of each field.
3) (OPTIONAL) Configure the /usr/local/rush/etc/rush.conf file.
For most situations the defaults suffice.
If security is an issue at your site, be sure to check ALL
settings, esp. UidRange and GidRange.
Also, correctly configure AdminUser and WebUser
for your environment. Read about them before accepting the defaults.
If you want to make changes, see the Rush Configuration File
documentation for more info.
4) (OPTIONAL) Configure the /usr/local/rush/etc/templates file.
Customize the
template render/submit scripts for your local environment. TDs use these
templates to create their submit scripts and render scripts via 'rush -tss/-trs',
and they will want to inherit settings for typical situations.
5) (OPTIONAL) Configure the /usr/local/rush/etc/.submit and /usr/local/rush/etc/.render files.
These files are sourced by the default Submit Script and Render
Scripts respectively.
6) Configure daemon to start on boot.
This script will also add rush to the system's path.
7) Start the daemon, and test it
To test if the daemon is working, you can run this test submit script,
just to verify jobs can be started, listed, and dumped:
To submit a real job, similar to what TDs use, you can run
this test which includes
complete instructions for someone who has never used rush before.
8) (OPTIONAL) Setup accounting log rotations. 9) (OPTIONAL) Security issues. Once you have things working on the first machine, then you can easily install
rush on the rest of the machines. See 'Network Install' below..
Make sure /usr/local/rush/etc/hosts contains the names of all the
hosts that will be running rushd, including the license server, and
that the license.dat file is in place.
Then, release everything to the net, and start the daemons:
Common errors (and their soultions) can be found in the
Admin FAQ.
Be sure to register your settings for serverport in /etc/services,
or
equivalent. See serverport for an example
entry.
New in 102.40f and up
There is now an install script for the Irix and Linux platforms
that automatically does the cp/chmod/ln instructions in this step.
Just run:
/usr/local/rush/etc/bin/install.sh
Irix:
cp $RUSH_DIR/etc/S99rush /etc/init.d/rush
chmod +x /etc/init.d/rush
chmod 755 /etc/init.d/rush
ln -s /etc/init.d/rush /etc/rc2.d/S99rush
ln -s /etc/init.d/rush /etc/rc0.d/K01rush
Linux:
cp $RUSH_DIR/etc/S99rush /etc/rc.d/init.d/rush
chmod +x /etc/rc.d/init.d/rush
chmod 755 /etc/rc.d/init.d/rush
ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc3.d/S99rush
ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc5.d/S99rush
ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc0.d/K01rush
ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc6.d/K01rush
Start the daemon by invoking the boot script:
IRIX: /etc/init.d/rush start
LINUX: /etc/rc.d/init.d/rush start
Then ping the daemon to see if it's running:
% set path = ( /usr/local/rush/bin $path )
% rush -ping
tahoe: RUSHD 102.00 PID=7166 Boot=10/15/00,03:25:49 Online, 0 jobs, 0 procs
If you get an error:
% rush -ping +any
rodin: rush: rresvport(): Permission denied
bacon: rush: rresvport(): Permission denied
..then check the SUID bit on the rush(1) binary, and make sure the owner is root:
chmod 4755 /usr/local/rush/bin/rush
chown 0.0 /usr/local/rush/bin/rush
If you get a different error, check the daemon logs for problems, eg:
tail -f /usr/local/rush/var/rushd.log
/usr/local/rush/examples/test-submit
Make a crontab entry that runs on a nightly basis that rotates out
the cpu accounting information. The simplest would be:
0 0 * * * /bin/mv /usr/local/rush/var/cpu.acct /usr/local/rush/var/Ocpu.acct
You may want to then push the rotated file through an accounting filter
to keep tabs on cpu usage for the network. This is left as an exercise
to the reader.
Refer to the Admin FAQ on Security
for security precautions and configuration.
Network Install
To install rush on the rest of the network (assuming you've got it working
on one machine), you will want to rdist(1) the /usr/local/rush directory
to all the machines, start the daemons, and verify they're running.
New in 102.40f and up
The new install script can greatly simplify installation;
it handles the platform specific stuff, and simplifies
things down to single rdist(1) and rsh(1) commands:
# IRIX REMOTES
foreach i ( octane1 octane2 octane3 octane4 )
rdist -c /usr/local/rush ${i}:/usr/local/rush
rsh $i /usr/local/rush/etc/bin/install.sh \; /etc/rc.d/init.d/rush start
end
# LINUX REMOTES
foreach i ( linux1 linux2 linux3 linux4 )
rdist -c /usr/local/rush ${i}:/usr/local/rush
rsh $i /usr/local/rush/etc/bin/install.sh \; /etc/rc.d/init.d/rush start
end
# IRIX REMOTES
foreach i ( octane1 octane2 octane3 octane4 )
rdist -c /usr/local/rush ${i}:/usr/local/rush
rdist -c /usr/local/rush/etc/S99rush ${i}:/etc/init.d/rush
rsh $i ln -s /etc/init.d/rush /etc/rc2.d/S99rush
rsh $i ln -s /etc/init.d/rush /etc/rc0.d/K01rush
rsh $i /etc/init.d/rush start
end
# LINUX REMOTES
foreach i ( linux1 linux2 linux3 linux4 )
echo -n Working on ${i}: dist..
rdist -c /usr/local/rush ${i}:/usr/local/rush
rdist -c /usr/local/rush/etc/S99rush ${i}:/etc/rc.d/init.d/rush
rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc3.d/S99rush
rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc5.d/S99rush
rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc0.d/K01rush
rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc6.d/K01rush
rsh $i /etc/rc.d/init.d/rush start
end
rush -ping +any # pings all daemons in rush/etc/hosts