CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by RedHat. CentOS versions are maintained by a group of volunteers who supply 100% compatible re-compilations from the latest client, server and (for RHEL7) workstation and compute node source-code SRPMS of RHEL5, RHEL6 and RHEL7 available, 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. CentOS 7 is the current distribution (based on kernel 3.10), and advisable for the latest hardware.
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.
Installation and maintenance of CentOS machines[edit | edit source]
The best 3rd-party software repository to be be used with CentOS is EPEL. On CentOS, you can install EPEL by running
yum install epel-release. The package is included in the CentOS Extras repository, enabled by default. Usage: e.g. to make your Windows partition read/writable to your CentOS installation, just run
yum -y install ntfs-3g" after enabling EPEL.
Hardware support[edit | edit source]
There is 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)[edit | edit source]
- 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[edit | edit source]
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[edit | edit source]
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[edit | edit source]
- 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.