Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
150 lines (109 sloc) 6.08 KB

Private Cloud and CloudBioLinux

CloudBioLinux can be used to create a private Cloud for Bioinformatics. Essentially, all you need is ssh access to a VM running somewhere. This VM should be a clean install of Linux. With CloudBioLinux Debian and Ubuntu distributions are supported best.

Start a VM

Start a VM and make sure there is a network defined, and ssh running. On the VM

   dhclient -v
   ps xa|grep ssh
   ssh localhost

Check the network (e.g. with Debian)

   apt-get update
   apt-get install vim

You should be able to use the IP address to login from your desktop

   ssh user@VM_IP_address

Get password free ssh access

The CloudBioLinux fabric tools work best when you have password free login. If you can login to the remote with

   ssh user@VM_IP_address

you are set. Otherwise, create a password free ssh key. To achieve this, see the many Internet resources, e.g.

Install sudo without password

Install the sudo program. Next, edit /etc/sudoers with the 'visudo' command, and add the line

   user ALL=NOPASSWD: /bin/bash

where user is your Fabric username. Alternatively add user to the sudo group.

Now try:

   sudo bash

and you should be root, without a password.

Install CloudBioLinux

See the README for installing CloudBioLinux and fabric.

Run fabric

Now you should be set! To install BioLinux

   fab -f $source/ -H user@$VM_IP_address -c $fabricrc install_biolinux:packagelist=$packagelist

Where source points to the checked out source tree, e.g.

   export source=$HOME/izip/git/opensource/debian/biolinux

For example, to install the Minimal flavor on Debian stable on a VM running on IP

   fab -f $source/ -H user@ \
   -c $source/contrib/minimal/fabricrc_debian.txt \

CloudBioLinux shows the following output. First it sets up the environment

    [] Executing task 'install_biolinux'
    cloudbiolinux WARNING: Skipping fabricrc.txt as distribution is already defined
    cloudbiolinux DEBUG: Minimal Edition 1.0.1
    cloudbiolinux INFO: This is a minimal
    cloudbiolinux INFO: This is a Base Flavor - no overrides
    cloudbiolinux INFO: Distribution debian
    cloudbiolinux INFO: Debian setup
    cloudbiolinux DEBUG: Debian-shared setup
    cloudbiolinux DEBUG: Source=squeeze
    cloudbiolinux DEBUG: Checking target distribution debian
    [] run: cat /proc/version
    [] out: Linux version 2.6.32-5-amd64 (Debian 2.6.32-31) ( (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Mar 7 21:35:22 UTC [] out:
    [] out:
    cloudbiolinux INFO: Now, testing connection to host...
    cloudbiolinux INFO: Connection to host appears to work!
    cloudbiolinux DEBUG: Expand paths
    cloudbiolinux INFO: packagelist=/home/user/izip/git/opensource/debian/biolinux/contrib/minimal/main.yaml
    cloudbiolinux INFO: Meta-package information
    cloudbiolinux INFO: minimal,ruby
    cloudbiolinux INFO:
    cloudbiolinux INFO: Target=None

Here it modifies the source file for apt-get, as well as keys:

    cloudbiolinux DEBUG: _setup_apt_sources /etc/apt/sources.list.d/cloudbiolinux.list Minimal Edition
    [] sudo: touch /etc/apt/sources.list.d/cloudbiolinux.list
    [] sudo: echo '# This file was modified for Minimal Edition' >> /etc/apt/sources.list.d/cloudbiolinux.list
    cloudbiolinux DEBUG: Source deb squeeze main contrib non-free
    [] sudo: echo 'deb squeeze main contrib non-free' >> /etc/apt/sources.list.d/cloudbiolinux.list
    cloudbiolinux DEBUG: Source deb squeeze-updates main contrib non-free
    [] sudo: echo 'deb squeeze-updates main contrib non-free' >> /etc/apt/sources.list.d/cloudbiolinux.list
    [] sudo:
    cloudbiolinux INFO: Update GPG keys for repositories
    cloudbiolinux INFO: Update and install all packages
    [] sudo: apt-get update
    [] out: Hit squeeze Release.gpg

and starts installing packages

    cloudbiolinux INFO: Updating 26 packages
    [] sudo: apt-get -y --force-yes install ruby1.8 ruby1.8-dev ruby1.9.1 ruby1.9.1-dev axel less openssh-server rsync screen sudo tar unzip bzr cvs darcs git-core mercurial subversion vim cmake g++ gcc gfortran make patch swig
    [] out: Reading package lists... Done
    [] out: Building dependency tree
    [] out: Reading state information... Done
    [] out: gcc is already the newest version.
    [] out: gcc set to manually installed.
    [] out: less is already the newest version.
    [] out: less set to manually installed.
    [] out: make is already the newest version.
    (etc, etc)

Finally some clean ups

    [] sudo: apt-get clean
    cloudbiolinux INFO: Target=unknown; Edition=Minimal Edition; Flavor=Base Flavor - no overrides

write an entry in the log file

    [] sudo: date +"%D %T - Updated Target=unknown; Edition=Minimal Edition; Flavor=Base Flavor - no overrides" >> /var/log/biolinux.log
    [] run: uname -m
    [] out: x86_64
    [] out:
    cloudbiolinux INFO: Reading /home/user/izip/git/opensource/debian/biolinux/config/custom.yaml
    cloudbiolinux DEBUG: Packages:
    cloudbiolinux DEBUG:
    cloudbiolinux INFO: Cleaning up space from package builds
    [] sudo: rm -rf .cpanm
    [] sudo: rm -f /var/crash/*

And it is done. Minimal has no post-installation configuration, but that is easy to add.

Jump to Line
Something went wrong with that request. Please try again.