At my university, we moved from SUSE and Fedora to CentOS 3.3 shortly after I reviewed 3.3 for NewsForge last year. We run CentOS on three servers, which handle proxy, email, and intranet services for about 500 students.
I downloaded the new CentOS 4 from the BitTorrent link provided on the distro's Web page. Direct ISO downloads are also available, but at one point postings on the forums said that the ISOs were not downloading properly. The problem seems to be resolved now, but check it out before starting your download.
I chose not to do an upgrade of CentOS 3.3 on our servers. Rather, I backed up the configuration files and user data and performed a clean installation. The hardware on which I was running the operating system is all certified for RHEL, so there were no problems there. The only default I changed was to turn off SELinux.
After copying back the configuration files and user data, and tweaking a few options, the servers were up and running smoothly. The entire process took about five hours, spread over two days. That's not bad for a complete OS upgrade of three servers. I also installed CentOS 4 on my own computer, with the workstation installation option.
The first thing I noticed with 4.0 was a speed increase. The new 2.6.9 kernel, newer packages, and general improvements seem to have boosted performance, especially of the proxy server. On the same hardware, Squid was using less memory and CPU time, and was working faster.
Like RHEL, CentOS uses up2date to make sure that your system is running the latest software. Up2date is only useful for updating existing packages; to install new ones, you'll have to use YUM, or do it manually. In an improvement over the previous version, I did not have to import an RPM-GPG key; it was automatically imported the first time I started up2date. The update manager changes its name from the Red Hat Update Manager to the CentOS Update Manager after the first update. It's easy to use, but if you prefer, you can also use YUM to keep CentOS updated.
On the servers I did not have to install any drivers that were not automatically installed. On my own machine, I had to download and install the Nvidia drivers to get proper 3D video acceleration. This was easy enough, but I did have to make a simple edit to a config file. Newer distributions, such as Mandriva, are moving away from this necessity.
Some applications may refuse to install when they detect that you aren't running RHEL. None of the open source tools that I tried had this problem, but some commercial software does. The workaround is simple: Add a line in the /etc/redhat-release file. The default file contains a line that says "CentOS 4.0 (final)." Just add "Red Hat Enterprise Linux AS release 4 (Nahant)" beneath this and it ought to work just fine.
That tip is one of many good ones I picked up by visiting the CentOS forums. If you have problems, this should be your first stop. Most of the time, finding a solution is just a matter of browsing a little.
CentOS 4, like RHEL 4, boasts many enhancements and improvements over the previous version. On the server front, the most important one is SELinux. Security-Enhanced Linux makes it virtually impossible for an attacker to break into a system and damage it, because SELinux ensures that processes run with only those rights that are essential to them. The concept of root gets removed, so that even if you crack into the Web server,for example, the rest of the system is safe. CentOS 4 uses GNOME 2.8 as the default desktop, with Firefox as the default browser. OpenOffice.org, Evolution, and many open source apps are all present.
Unlike RHEL, however, CentOS does not include certain proprietary apps, such as the Acrobat Reader for Linux, RealPlayer, and the Citrix Terminal application. In place of Acrobat and RealPlayer, CentOS uses the default GNOME PDF viewer and the open source Helix Player.
CentOS is one of the more professional Red Hat clones, and it shows in the number of update servers, the active user community, and the polished feel of the distribution. Updates are released quickly, mostly within hours of Red Hat's own releases. If you compare CentOS to the other Red Hat clones, it feels more dynamic, and like a well-supported distribution. In fact, if you want commercial support, this page lists links to organizations that will support CentOS.
The experience of using CentOS, on the server or on the desktop, is barely distinguishable from working with RHEL. This means that you can safely use whatever knowledge you have of RHEL on CentOS, and vice versa. If you are studying for one of the Red Hat certification programs, for example, you can safely practise on CentOS. The Internet has lots of resources for Red Hat distributions, and this makes it easy to solve problems and use CentOS effectively.
For smaller businesses or places where the Linux sysadmin's experience is limited to Red Hat's distros, moving away from Red Hat can be very difficult. CentOS is just right for such niches. There are many distributions that may be better with multimedia than CentOS, and have better-looking desktops, but if you want a distribution that is practically identical to RHEL, is regularly updated, and is well-supported, then you can't go too far wrong with CentOS.