CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by RedHat. CentOS versions 5 and 6 are maintained by a group of volunteers who supply 100% compatible re-compilations from the latest client and server SRPMs for RHEL5, and client and server SRPMs for RHEL6 with all security fixes, bugfixes and feature enhancements. 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 still suitable for computing in X-ray crystallography. Maintenance updates to this version are planned to be made available until Mar 31st, 2017.
Version 6 is based on kernel 2.6.32 and is quite suitable for computing in X-ray crystallography. Maintenance updates to this version are planned to be made available until Nov 31st, 2020.
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
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 . This is very useful e.g. recent hardware that is not properly supported by the kernel, e.g. for the RTL8111/8168B Ethernet controller found on recent motherboards. Also, the NVidia driver is now provided by ElRepo.
 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 groupinstall 'X Software Development' "
- Additionally you may need to install g++, gfortran, ncurses-devel and python-devel RPMs for compilation ("yum install gcc gcc-g++ gcc-gfortran ncurses-devel python-devel"). (You could even choose to "yum install gcc44 gcc44-g++ gcc44-gfortran" which will give you the 4.4 version instead of 4.1.2 .
- make sure to choose the Tcltk package when you download CCP4; this will configure and install blt, bltwish, and tcl/tk together with the main part of CCP4.
- Following Tim Grüne's advice, comment out the modification of MANPATH in $CCP4/include/ccp4.setup .
 Binary Installation of CCP4
Make sure to include the binary Tcltk distribution when you download CCP4. This works fine on 64bit machines provided you installed the required 32bit libraries (see below).
 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
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.