Scientific Computing on Ubuntu
From OS X Scientific Computing
General Ubuntu Linux Topics
Why Ubuntu Linux?
I've moved from Red Hat to Ubuntu linux, which is a free and up to date version of Debian linux that doesn't suck as much as Red Hat and some of the other alternatives. You can download a CD disk image (either desktop or server) and burn your own install CD, or they will send you a free CD if you prefer that. The basic installation from the CD is fairly limited, so you will need to supplement the basic distribution with further downloads. Fortunately, supplementing either the default "Server" or "Desktop" installation is extremely easy. There are (at least) two options. The first is to use the GUI called synaptic, and the second is to use the standard Debian command-line utility apt-get. Note that an ssh client is default, but not ssh server, so sshd won't be there - so when you can't ssh into your ubuntu box, consider this fact. If you want to make your graphics life a little easier, add packages onto the "Desktop" offering rather than adding to the "Server".
Ubuntu is 100% free. It is so free, in fact, they will send CD disks to you on their nickel if you don't want to download an iso disk image. Ubuntu is sponsored by a company called Canonical, which in turn is owned by an anti-racist South African entrepreneur named Mark Shuttleworth.
Important Ubuntu Linux Quick Links
Software Package Management
Install Software Automatically with Synaptic or Apt
Synaptic is a GUI front-end for apt, the Debian package-management tool that lets you install packages from on-line, remote repositories using dpkg. The GUI is driven by self-explanatory menus, so I will focus on the command-line here.
For example, to install the tcltk extension known as blt, using apt-get, you would just type
sudo apt-get update sudo apt-get install blt
and it will install blt. To keep everything up to date, simply type
sudo apt-get update; sudo apt-get dist-upgrade
If you use fink on OS X, you already know the procedure.
Making the Universe Available
Some packages you need (including many of the scientific packages in Ubuntu) won't be available from the default download sites. To make available more packages, replace the contents of the file /etc/apt/sources.list with the linked example.
This will make more packages available for Ubuntu to install using either apt-get or synaptic. (Both consult this list). If you hate editing files, synaptic provides a GUI way of achieving the same result.
Please note that the URLs in my example file might not be the best for your location. Ubuntu maintains mirrors throughout the world.
You can also use the Debian package install tools to install Debian packages that Ubuntu does not distribute. For example, I needed the mail reader pine and Ubuntu does not have this package (presumably due to license restrictions). So I just Googled for a pine debian package, found it on the pine home site, downloaded it, and installed it manually like this:
wget ftp://ftp.cac.washington.edu/pine/pine_4.64_i386.deb sudo dpkg -i pine*.deb
where the wildcard represents stuff that I was too lazy to type. It even installed a required dependency that Ubuntu did provide (and installed it from the normal Ubuntu distribution) and added pine to my database of installed packages. It doesn't get much better than that.
(It is also a slight lie. I actually used sudo dpkg -i --force-overwrite pine_4.64_i386.deb because nano, a clone of the editor pico that comes with pine, rudely installs a file called pico, but pine installs the real thing, so I had to force overwriting in order to keep both. Usually, the simplest command works.)
We'll make use of this feature of Debian packages to install pre-compiled crystallographic software.
Fix a Stupid Problem with BLT
I made a supplementary Debian package that you can use
The above-mentioned blt package that Ubuntu (and Debian) provides for some reason does not install the executable bltwish that is required for ccp4i. I wrote the Debian.org package maintainer for blt, and he was fairly insistent that it was not needed. The trouble is, ccp4i won't work without bltwish in your path. I wasn't getting anywhere arguing with him, so I rolled my own debian package and called it bltwish. It requires that you install the broken blt package (actually, it is installed by default), and then it simply provides the missing files that get installed in /usr/bin. You can download it from my debian unofficial package collection, and install it with the command:
sudo dpkg -i bltwish*.deb
If you haven't already installed the blt package, it will do this for you automatically.
How I made it
Notes on Version Upgrades and Beryl
Notes on previous upgrades
Notes on Most Recent Upgrade and Beryl
This now has its own page. Click on the link above.
Martyn Winn's CCP4 Ubuntu page (EM64T architecture)
I have no experience with 64-bit architecture, but Martyn Winn (of CCP4 fame) has created a great resource. Please visit his page.
Hari Jayaram's notes on building ccp4 on ubuntu 64
Illustration of Concept