HOWTOs: SBGrid Installation Notes

Site Configuration

The SBGrid Software Suite is designed to be installed on a single computer at your site, which will then share that installation with all the workstations on your network via NFS. We refer to this computer as the site “master” server.

The master server will require at least 250 acronym title="Gigabyte">GB of free disk space on a case-sensitive file system and must run some variety of UNIX. The installation script will download the software branches you select, and then install a cron job that will run regularly to check for updates.

Click on the following image for a graphic detailing the common configuration of an SBGrid member laboratory:

Pre-Installation

Installation Requirements
Hard Drive Space250 GB required
Operating SystemLinux, OS X and other UNIX
Privileges Root account (Linux) or Administrator account (Mac)

Contact Us to request the installation script for the software. Be sure to include the following information in your email:

  • Lab Name
  • Types of computers on site: Linux, OS X Intel, OS X PowerPC, IRIX
  • The names and email addresses of lab members that will use the software. One user may be designated to receive the majority of our correspondence if you would prefer not to hear from us too often.

Once the email has been received and your information has been entered into our system, we will email you a script you will run that will begin the remote installation process. Instructions for running the script will be included in that email, and are reproduced below for reference.

Installation

  1. Create an 'sbgrid' user on the machine that will host your software installation.
  2. Log in as this 'sbgrid' user.
  3. Download the installation script from the URL provided in the account creation email.
  4. Make it executable:
    chmod +x sbgrid-admin
  5. Run the script:
    ./sbgrid-admin -i
  6. The script will walk you through configuring your installation, downloading the software and installing a cron job that will keep the software updated at your site. You will need the site name and install key provided in the account creation email. The installation may take anywhere from several hours to a day, depending on your network and the number of applications available to your site.

Post-Installation Steps

  1. Add a symlink in the root directory of each machine that wants to use the software. The installation script will print the suggested syntax for the command.
    ln -s /path/to/sbgrid/installation /programs
  2. Any user that wishes to use the software needs to configure their shell to initialize the SBGrid shell environment. For bash and other sh-compliant shells, add the following line to your ~/.bash_profile or ~/.bashrc:
    . /programs/sbgrid.shrc

    For csh and tcsh, add the following line to your ~/.cshrc:

    source /programs/sbgrid.cshrc
  3. For some linux distributions, the shipped version of tcsh does not support shell variables longer than 4096 characters. Since the current PATH in our default shell initialization is larger than that, you will need to update tcsh. RPMs for Red Hat 4/5 and CentOS 4/5 are provided at /programs/i386-linux/system/RPMS.

SGI IRIX Software Branch

Since the IRIX software branch is frozen and no longer receiving updates, it is not installed and updated in the same manner as the active software branches. In order to install the IRIX software branch, please run:

./sbgrid-admin -s

Note that the IRIX branch is only compatible with tcsh; there is no sh-compatible configuration for this branch.

Managing Your Software Installation

'sbgrid-admin' Utility

The sbgrid-admin utility used to install the software has a few other uses. It includes built-in help:

 $ sbgrid-admin -h
sbgrid-admin: a tool for administering an SBGrid Software suite installation

Usage: sbgrid-admin [-chirstu]

  -c Cron mode.  Used for automated updates of the software suite.
  -h Help message.
  -i Install the software suite on this machine.
  -p Print a launchd plist for updating the software on OS X machines.
  -r Regenerate sh/csh shell configuration files.
  -s Install the software branch for SGI IRIX.
  -t Test the configuration file.
  -u Force manual update of an existing installation.

The most commonly used option is -u to force a manual update. This will synchronize your local installation with the SBGrid master installation hosted at Harvard Medical School.

The SBGrid software configuration files use both static and dynamically generated files. The main shell initialization files, /programs/sbgrid.cshrc and /programs/sbgrid.shrc are static files, but the operating-specific configuration are dynamically generated and customized for the packages available at your site. sbgrid-admin -r will regenerate the branch-specific configuration files should you accidentally delete or alter them.

Configuration Options

The sbgrid-admin script has some additional configuration options to accommodate the installation requirements at different sites.

The ~/.sbgridrc configuration file for the sbgrid-admin script must contain a sitename and site key. All other configurations are optional.

Options take the form of OPTION_NAME=“setting”.

OptionExampleDescription
SB_SITENAMEsbgrid-beneThe site name for your installation provided by SBGrid
SB_SITEKEYxyxyxyxyxyxyxyThe installation key for your site provided by SBGrid
INSTALL_TARGET/nfs/programsThe installation directory for the software
RSYNC_ARGS”- -log-file=$HOME/sbgrid-admin.log”Advanced arguments to rsync for the software download
HTTP_PROXYhost.name:portProxy hostname and port for use by rsync and curl
POST_UPDATE_SCRIPT/absolute/path/to/scriptOptional script to be run after a successful software update
CRON_SCHEDULE5 1 * * *Set a custom cron schedule


Rsync Transaction Logging

If you want a date-stamped log of all rsync downloads, deletions and updates, you can a line like this to the ~sbgrid/.sbgridrc file:

RSYNC_ARGS="--log-file=$HOME/logs/sbgrid-admin-`date +%Y%m%d`.log"

This will create a date-stamped log file any time an actual change to the software tree happens. In general this should not be necessary, but for troubleshooting purposes it can be useful.

Adminstrator Software Version Overrides

Most of the software titles installed in the SBGrid Suite have several versions available. Typically, we try to provide at least three versions of each software package, although very old or very new applications may have fewer versions.

There are two methods for site admins to configure version overrides using files placed in a /programs/local/conf/ directory.

Site-wide Overrides

A file named site.conf placed in /programs/local/conf will be read when any SBGrid shell is initialized from the installation.

Per-host Overrides

A file named <hostname.conf>, where <hostname> is the output of hostname -s will be read after the site.conf.

Precedence

There are three files that will be examined for version overrides during shell initialization. In order from lowest to highest precedence:

  • /programs/local/conf/site.conf
  • /programs/local/conf/<hostname.conf>
  • $HOME/.sbgrid.conf

The overrides are reported during shell initialization:

 Configuration options in effect for this shell:
  Variable             Setting         Configuration
   SPIDER_L             18.10           site
   CNS_L                1.21            machine
   CCP4_L               6.1.2           personal 

SBGrid Mirrors

For the benefit of the local SBGrid community, we provide high-bandwidth access to frequently-used open source software. If you would like for us to add a mirror, please Contact Us.


Mirror Name Mirror URL
CentOS http://mirror.sbgrid.org/centos

Mailing List for Site Administrators

We have a small mailing list for technical users and site administrators. Contact Us to sign up.