Fedora Scientific: Open Source Scientific Computing

In the lab...

In the lab...

Fedora Scientific Spin is a Fedora Linux spin that aims to showcase the open source tools for scientific and numerical computing. It was first released officially with Fedora 16 in November 2011, and is targeted at current and future Linux users in the domain of scientific computing.

I started work on this spin with a simple goal, which I will put into perspective here. My work and play involves programming, writing articles, visualisation and analysis of numerical data — and hence, I use a lot of open source libraries and tools to assist me. If you haven’t guessed already, I end up installing these tools every single time I do a fresh install of Linux. This motivated the need for a Linux distribution with these tools preinstalled, specifically targeted at users like me, who use Linux for scientific work. The Fedora community’s popularity and the insanely simple process of creating spins provided an ideal launch pad.

Now let us take a brief look at the applications and libraries currently available in Fedora Scientific.

Applications in Fedora Scientific

The current set of applications shipped in Fedora Scientific are broadly classified into the following categories:

  • Scientific computing tools and environments: The numerical computing package GNU Octave, the computer algebra system Maxima, with its front-end wxMaxima, the Python scientific libraries SciPy, NumPy and Spyder (a Python environment for scientific computing) are some of the software included in this category. A development environment for R, the statistical computing environment, is also included, and so are the ROOT tools for analysing large amounts of data.
  • Generic programming and development tools and libraries: Software in this category includes the GNU C/C++ and FORTRAN compilers, the OpenJDK Java development tools, and the IDEs NetBeans and Eclipse. Also included are autotools, flex, bison, ddd and valgrind.
  • Parallel and distributed programming tools/libraries: Software tools and libraries included in this category include the popular parallel programming libraries OpenMPI, PVM, and the shared-memory programming library OpenMP. Also included is the Torque resource manager to enable you to set up a batch-processing system.
  • Editing, drawing and visualisation tools: So you have simulated your grand experiments, and need to visualise the data, plot graphs, and create publication-quality articles and figures. The tools included to help you in this include LaTex compilers and the Texmaker and Kile editors, plotting and visualisation tools Gnuplot, xfig, MayaVi, Dia and Ggobi , and the vector graphics tool Inkscape.
  • Version control, backup tools and document managers: Version control and backup tools are included to help you manage your data and documents better — Subversion, Git and Mercurial are available, along with the backup tool backintime. Also included is a bibliography manager, BibTool.

Besides these four main categories, some of the other miscellaneous utilities include: hevea (the awesome LaTex-to-HTML converter), GNU Screen and IPython. You can find the complete list of all the additional packages included in the spin here.

Fedora Spins

Now that we have taken a look at Fedora Scientific, let us explore the enabler behind it. What made Fedora Scientific possible is the Fedora Spins effort. Quoting from the website: “Fedora Spins are alternate versions of Fedora, tailored for various types of users, via hand-picked application sets or customisations.” As of the Fedora 16 release, there are nine custom spins — six of them highly customised for niche audiences like security professionals, designers, kids, researchers and robotics enthusiasts.

Creating a custom Fedora Spin is really easy. And unlike a lot of things in life, it is as easy to do it as it is to talk about it. A tool called livecd-creator is used to create a custom Fedora Spin. A configuration file called a kickstart file needs to be created first, where you specify the list of packages that you want to be installed. You can also specify various other custom configurations, such as the desktop icons, launchers, etc. You can take a look at the kickstart files for all the Fedora Spins over here. If you have an idea for a custom spin, start by taking a look at one of these spins and then creating a kickstart file for yourself.

Once you have a kickstart file ready, you can use livecd-creator to create a customised Live ISO using the following code:

# livecd-creator --config=fedora-livecd-custom.ks --fslabel=Fedora-Live-Custom-CD -- cache=/var/cache/live

This will start the spinning process for your shiny new Fedora Spin. Once you have the ISO, you can write it to a USB stick using the ‘dd’ command.

Where next?

First, if your interest in this article was to know more about Fedora Scientific, then head to its website to download an ISO and try it for yourself. While you are at it, you may direct your queries and comments to the SciTech SIG mailing list, or use the other forms of communication listed in the support tab.

However, if your interest was to know more about Fedora Spins in general, head over to the Fedora Spins page, and learn more about the Fedora Spins process. Happy spinning!



Please enter your comment!
Please enter your name here