CentOS
Figure 4 CentOS desktop
Origin
Red Hat Open Source code > rebuild of Red Hat AS Enterprise Sources. It's essentially an unofficial community supported Red Hat-style distribution with non-free packages originally in Red Hat replaced with Open Source packages or removed. Its binary packages are built for 100 percent Red Hat compatibility.
Official Purpose of Distro
"CentOS exists to provide a free enterprise class computing platform to anyone who wishes to use it." It's covered here because it's winding up on a significant number of desktops, both in and out of the corporate world.
FAQ Information
Per the FAQ: The kernel is 2.6-18-92, which qualifies as fairly dated. Looking at applications: Inkscape is available in version 0.46-1, which is close enough to the present.
Installation
Download it here. I'm downloading the full 3.7G DVD rather than a liveCD because any time saving from downloading a CD instead of a DVD will be more than paid for when the CD is installed to a hard drive and the first software update grabs most of the content of the DVD.
The following verifies the Gnome standard version:
1539bad48e984ae1441052dc074c0995 CentOS-5.2-i386-bin-DVD.iso $ md5sum
Incredibly slow initial update after installation. It's been downloading for the last 20 minutes, and the progress bar shows it's about halfway through.
Software Installation
Start > Add Remove Packages
This gets you to Package Manager. You can select applications from categories, search on packages, or go to Repositories via the Edit menu. You can add some repositories via the checkbox. Don't add your installer DVD as a repository unless you plan to have it mounted all the time.
Desktop
Typical Gnome. Minimal set of tools, but you can expand them easily enough by adding repositories. (some can be added by check off in the Package Manager.) If you didn't choose KDE in the initial installation, you can add it from Package Manager (it'll be next to Gnome Desktop Environment) afterwards, pick one or the other as a default, and use the other (or mixed applications from both environments) as suits you.
Multimedia/Peripheral Setup
Multimedia
Don't bother unless you're a very experienced Linux user willing to invest an inordinate amount of time in getting your system rolling or you can amortize figuring out how to make this work across a batch of systems in a desktop rollout across a business.
Go here for a command line–based how-to. See what will open in Firefox via mplayer plugin, which will be installed in the above procedure before spending time with individual multimedia apps trying to make them work.
Printer
No driver available for my Canon IP3000, even after a system upgrade. FAIL. The list of supported printers looks like what other distros supported 2 years ago. Check the third-party proprietary driver package to see it support your driver if you're one of the numerous users who won't have supported printers.
Virtualbox setup
Install it as described Part 1 and Part 2 of my "Sun VirtualBox (xVM): A Virtualization Environment for Linux" article. Where the instructions here and the referenced article instructions conflict, use these.
Install kernel-devel and kernel-headers. When you search for these italicized terms in package manager, use the one that matches the actual kernel version displayed in error message when the search is complete. Then install the gcc compiler.
To automatically mount shared folders, this command works perfectly from a root command line:
# mount -t vboxsf win /home/alizard/Desktop/win-1 -o uid=500,gid=500,exec,rw
The above is one line no matter how your browser shows it wrapped. If this doesn't work, make sure the UID and GID match the user's numeric and group Ids.
Add everything after the # to rc.local via the text editor from root:
# nano /etc/rc.local . Save and quit. # cd /etc/rc.d/rc5.d # mv S99local S99zlocal
In this distro, if you examine rc5.d, you will find the following in this order:
S99firstboot S99rclocal S99smartd
The rc scripts appear to be run in alphanumeric order because the S99 is the same in all three cases, the run order is determined by the fourth character: f , r, s. Changing the S99 filename via mv with the z in bold inserted as shown moves it to the very end. I think this is required because mounting the shared folder needs to take place after running smartd (a hard disk monitoring and control utility).
Problem: Maxing Out the CPU
A major problem I found is that CentOS sucks up all the available CPU with Virtualbox. From the Virtualbox forums: The problem with that distribution (which it shares with RHEL) is that this kernel uses a 1kHz timer. Handling this amount of timer interrupts in a VM alone needs a relatively large amount of CPU time. Even if the guest is idle.
Kernels with lower-frequency timers are available here. Successfully installing one and reinstalling Guest Additions should make everything work. My first attempt to install a kernel resulted in the OS forbidding me to install an earlier kernel version.
The quick-and-dirty fix (also from that page) is to simply open another guest VM and let it run at idle; having it go to the login prompt worked. Since the quick fix dropped my CPU temp down to under 50, while I believe that the kernel fix will work, I didn't put further effort into replacing the kernel. This fix works on VMware Server; the origin of the modified kernels is an unofficial VMware site.
The Bottom Line
CentOS may have redeeming advantages for the enterprise user in terms of easier administration of lots of boxes or familiarity from the POV of Red Hat–experienced sysadmins. Although I was extremely surprised to see gcc missing from a server-oriented distro. Unless you need something that works only with Red Hat/CentOS or you have an employer or academic institution requiring you to run this distro, I can't think of any good reason for a SOHO desktop user to run it.