CentOS
CentOS is a 100% compatible re-compilation of RedHat Enterprise Linux (from the latest client and server SRPMs) with all its security fixes, bugfixes and feature enhancements. Versions 2.1, 3, 4 and 5 exist and are maintained by a group of volunteers. The CentOS mailing list is also available from the public newsserver news.gmane.org (the name is gmane.linux.centos.general; posting is allowed).
Version 5 is based on kernel 2.6.18 and is quite suitable for computing in X-ray crystallography. Maintenance updates to this version are planned to be made available until Mar 31st, 2014.
32bit and 64bit versions exist for a number of platforms; most notably for Intel and compatible processors. On PC-type hardware, one should probably choose the 64bit version if the machine has more than 2GB of memory and is used for computing. The 32bit version is better for web surfing: for example, there are more 32bit Firefox plugins than 64bit ones (but of course one could manually install the 32bit Firefox on a 64bit machine).
Installation and maintenance of CentOS machines
There is a wiki, with e.g. Howtos, Tips and Tricks and a list of repositories to be used with yum (the software installer).
The best 3rd-party software repository to be be used with CentOS is RPMforge; there is a detailed installation instruction. E.g. to make your Windows partition read/writable to your CentOS installation, just run "yum -y install ntfs-3g fuse-ntfs-3g dkms dkms-fuse" after enabling RPMforge (dkms and dkms-fuse are not necessary any more since CentOS 5.4, because fuse is in the kernel).
Hardware support
There is now the ElRepo repository for hardware kernel modules. Explanation at [1].
Installation of CCP4 from source code, on a CentOS-5 machine (32bit or 64bit)
- If you want to configure CCP4 using --with-x , you need "yum -y groupinstall 'X Software Development'"
- Additionally you may need to install g++, gfortran, ncurses-devel and python-devel RPMs for compilation and tcl/tk for ccp4i ("yum -y install gcc gcc-g++ gcc-gfortran ncurses-devel python-devel tcl tk")
- There exists no blt (required for ccp4i) RPM for RHEL/CentOS, but loggraph seems to need blt so I ran "rpm -Uvh http://apt.bioxray.dk/rhel/el4/i386/RPMS.xray/blt-2.4z-1.2.el4.mok.i386.rpm" as root (this is a RHEL4 package but it works fine on RHEL5/CentOS-5). Then, just "setenv CCP4I_TCLTK $CBIN" in include/ccp4.setup, and
source $CCP4/include/ccp4.setup cd $CBIN # ln -s /usr/bin/wish . # don't think this is req'd ln -s /usr/bin/bltwish . ln -s /usr/bin/tclsh .
- Following Tim Grüne's advice, comment out the modification of MANPATH in $CCP4/include/ccp4.setup .
using yum to identify which package a missing file belongs to
When "make" fails (e.g. during CCP4 installation from source), it is most likely a missing file. In this case the compiler complains, giving an error message which mentions the name of the file. If the name of the file is e.g. curses.h, ask yum what package the file belongs to:
yum whatprovides "*/curses.h"
The output lists a number of packages which provide files whose names end with "curses.h". Pick the one ("ncurses-devel") that lists /usr/include/curses.h, and install it with
yum -y install ncurses-devel
Read everything about yum at http://fedoraproject.org/wiki/Docs/Drafts/SoftwareManagementGuide/SearchwithYum .
Tips and Tricks for a 64bit installation
- create the file /etc/rpm/macros with the single line
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
This results in the type of package (i386 or x86_64) being listed for rpm and yum commands, which is very useful because one needs many libraries in both 32- and 64bit form.
If the CCP4 installation was done in 32bit mode, you need at least "yum -y install libgfortran.i386" to run the binaries.