/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.
It should contain the
names of all hosts that participate in rendering.
See Hosts File for descriptions of each field.
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. 7) Start the daemon, and test it 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..
Now verify all the daemons have started.
2) Configure the /usr/local/rush/etc/hosts file
3) (OPTIONAL) Configure the /usr/local/rush/etc/rush.conf file.
Be sure to register your settings for serverport in /etc/services,
or
equivalent. See serverport for an example
entry.
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
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.
FIRST, make sure *all* the hostnames you will be installing on
are configured in the /usr/local/rush/etc/hosts file. Then, release
everything to the net, and start the daemons:
# 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