By and large, though, you are on your own ... so pull up your bootstraps and dig in!
Here are some more reasons CentOS is preferred by myself to RHEL.
- RHN (Red Hat Network) - does anyone like this? I despise it, the subscriptions, channels, entitlements and so on make my stomach churn.
- Virtualization - if you want to run Xen or KVM you're going to like CentOS better as everything just works. On RHEL you have to be a) subscribed to the RHN b) entitled for "Virtualization" and c) have an active subscription in order to get at the related RPM Packages. That is a lot of red tape!
- Alternative file systems - if you are fan of XFS, JFS or ReiserFS you will be happier with CentOS because they provide the CentOS-Plus repository with rebuilt kernels and other packages that support these filesystems. Red Hat gives you the run around saying you have to talk to your sales rep to enable XFS support and that is it...they have no support for JFS, et al.
Reasons to avoid CentOS
You maybe be asking "what's the catch"? and having worked with CentOS since CentOS-2 I can tell you a few...
- You could find situations where you are forced to lie, cheat or steal (so to speak), for instance to obfuscate the fact that you're not running true RHEL distro. For instance, when working with certain software vendors they may claim to not (officially) support CentOS.
- You won't get great support. You might get "good-enough" support though, depending on your needs. For instance, if you have hired a capable Systems Administrator who can figure things out.
- If you have a mixed environment of CentOS and RHEL systems, they'll probably never be at a consistent patch level.
- Also, if you use the yum-security plugin to apply (just) security updates, this mechanism does NOT work for the CentOS repos. (It does, however, work for EPEL-based packages)
All in all though, I'd definitely recommend CentOS over something Fedora or Gentoo for it's stability and long-term support.
Converting to CentOS
This is the process in a nutshell. There are two approaches, actually. Both should only be done by a skilled engineer and after a complete backup has been performed.
This is actually easier than the 2nd approach and can be done "online".
Boot the system with the CentOS media. At the boot: prompt type
linux text upgradeany
Creating a yum repo is rather easy.
Put all your RPMS in a folder.
yum install createrepo cd /path/to/RPMS createrepo -v .
Next, fashion a repo definition file in /etc/yum.repos.d/local.repo. This example used a file: URL
[local-repo1] name = Local custom packages baseurl=file:///path/to/RPMS/ gpgcheck=0
yum vs. up2date
Another consideration is the use of yum vs. up2date for patching the system. I believe yum is a better choice, it is more intuitive and easier to learn. However, newer versions of up2date have the RPM rollback option, which is neat.
yum-utils for old kernel cleanup
Over time your system may pile up a heap of kernels. Since you can only run one kernel at a time, it makes sense to not keep more than 2 (current and one older/backup). Here's a tip from Bart Schaefer explaining how to prune the kernel list down to just two.
yum install yum-utils package-cleanup --oldkernels --count 2
Instruct yum or rpm to save old packages
This is handy when patching your system and want to keep the old (replaced) packages around for a time. Specify this in /etc/yum.conf
The RPMs that yum replaces (e.g. during yum update) will be repackaged and put into /var/spool/repackage/
The other way to do this is to specify the following in your /etc/rpm/macros file. If the file does not exist simply create it:
Kickstarting CentOS-5 and DHCPv6 timeout
There is a looooooonnnngggg (1 minutes) DHCP timeout while it tries to get a DHCPv6 address (not likely).
Someone suggested adding "noipv6" kernel arg when booting.
Yes it works!
Boot from the netinstall iso. When prompted, choose HTTP as the install method and provide this URL (works for me): http://ftp.osuosl.org/pub/centos/6/os/x86_64/
Adjust URL to suit the version and arch you are actually installing.