Scientific Linux 6.0 Released
Linux adoption in the scientific community is very high for many reasons. Cost is a significant issue, as many university research groups typically have small computing budgets. Another key factor is the availability of quality tools and a community of support. Python has a tremendous amount of support in the academic and scientific community, specifically around tools like matplotlib, NumPy and SciPy. The recently held Pycon conference featured a large number of talks on Python in the scientific community.Linux adoption in the scientific community is very high. For the many organizations that want Red Hat Enterprise Linux 6.0 but don't want to pay for it or wait for the next release of CentOS, Scientific Linux is worth a look.
Scientific Linux (SL) 6.0 is the latest release of a Red Hat-based distribution specifically tailored to meet the needs of the scientific computing community (see Figure 1). It's championed by Fermilab and used for some experiments at the Large Hadron Collider. Fermilab released its first version on SL in 2004 with a target audience of the high-energy physics community. Since then, it has been adopted by research facilities across the world.
Scientific Linux Installation
There are several methods for installing SL 6.0, including from a full DVD distribution .iso file or over the network. The SL site also offers a live CD for testing purposes. This version works well if you want to give SL a spin using a virtualization tool like Virtualbox. You'll want to give the virtual machine at least 1GB of memory and a minimium disk size of 20 GB.
The SL website provides an annotated installation guide complete with screenshots to guide you through the process. You'll find guides for both initial installation or an upgrade from a previous version. If you choose to do a network install, you may need to configure your network devices. Several screenshots detail what needs to be entered to get your computer connected to the network. If you choose the Live CD route, there's also an option to install permanently, should you choose to do so. The default user environment is based on GNOME, so if you're a KDE fan you'll have to install that manually.
Scientific Linux Version 6.0
This release is based on Red Hat Enterprise Linux (RHEL) 6.0 compiled from source, but you will not find the words Red Hat anywhere in the documentation or on the website. The missing words are intentional in an attempt to avoid any issues over naming. There are some specific additions to the core distribution added because of their use at many SL sites. Added packages include icewm, openafs (Apple File System port), and a set of tools for building either live CDs or USBs for distribution.
There does seem to be a significantly missing package from this release. SciPy is not installed by default and, in fact, it is not easily installed, at least for a 64-bit system. If you browse the mail list archives,you'll see several discussions on getting SciPy installed on previous versions of SL. We made a few feeble attempts to get it installed but failed on account of missing dependencies.
Software development in the scientific community is a common requirement. SL 6.0 includes a number of tools to support that effort including Eclipse 3.5.2, Gnu Emacs, OpenJDK, and both Qt3 and Qt4. Python 2.6.5 is the default version installed along with gcc 4.4.4. You can install other languages using the normal Add/Remove Software tool from the System / Administration menu (see Figure 2).
Install Other Languages Using the Add/Remove Software Tool
The base distribution includes the Virtual Machine Manager but neither KVM nor QEMU. You will have to install one or the other if you want to create a virtual machine for testing purposes. Using virtual machines for software development and testing provides a clean way of separating your development environment from your main machine to prevent any inadvertent changes to your basic system.
SL does come with both NumPy and matplotlib installed, so you do have some basic computation and plotting tools to start with. NumPy provides a large library of functions for performing various numerical operations on arrays and matrices. For plotting, there's matplotlib, which provides a fully functional tool for generating scientific plots (see Figure 3).
Plotting With matplotlib
These two tools enable quite a bit. Both matplotlib and NumPy have large numbers of examples and fairly comprehensive documentation to help you along. You'll find video tutorials as well if you like to have someone show you how to do things. The Pycon videos are posted on the blip.tv site and include everything from basic introductory material to a review of Python-integrated development environments (IDEs).
Scientific Linux is one way to get your hands on Red Hat Enterprise Linux 6.0 without waiting on the next release of CentOS. It also provides a solid foundation for developing scientific applications with many of the needed tools already installed. There are a few missing pieces including SciPy, so be aware of that.