When a normal desktop user takes a look at different Linux distributions to use, they’d tend to think of various desktop-friendly distributions such as Ubuntu, Fedora, and openSUSE. But a major reason why Linux is so popular in the computing world is because of its use on enterprise computers and servers.
In case you don’t know already, most of the web is powered by Linux — Facebook, Twitter, Google, and a vast majority of other major Internet sites use Linux for their servers. While server administrators can choose between multiple distributions for their enterprise or server setups, the primary leader of these distributions is Red Hat. However, Red Hat Enterprise Linux, or RHEL for short, costs a lot of money in support fees. If RHEL interests you but money is an issue, then it’s almost a given to try CentOS.
The Difference Between CentOS and RHEL
CentOS, short for the Community ENTerprise Operating System, is a Linux distribution that is identical on a binary level to RHEL, as CentOS’s packages come directly from Red Hat. This is made possible because any Linux distribution is free and must be made freely available. Red Hat complies with this and freely offers their distribution; however, it is only offered on an individual package basis. If you want to get a complete distribution, you’ll need to buy a support package from Red Hat, which is how they make their money. The community around CentOS take their time to download all of the packages offered by Red Hat, repackage them to replace the Red Hat branding with CentOS branding, and then offer the new collection of packages as the CentOS distribution. All of this is completely legal and isn’t stealing — if you can’t or don’t want to pay Red Hat for their distribution, you can use CentOS instead (without the premium support that Red Hat offers their customers).
CentOS’s RHEL-Like Characteristics
CentOS, like RHEL, is an extremely stable distribution with a focus on servers and the enterprise — you won’t find many desktop games in the CentOS repositories. Instead, CentOS contains the same packages as RHEL. RHEL gets its packages from Fedora after extensive testing, and then removes the ones it finds to be irrelevant for RHEL users. At first glance, there’s no technical difference between CentOS and RHEL. Before digging in any deeper, the only difference between the two is that a new version of CentOS is released quite a bit after a new release of RHEL, because the CentOS community can only begin to create the next release after RHEL publishes theirs, and the process does take a lot of work and time.
Using CentOS is (from a desktop user’s point of view) quite boring, but that’s a good thing. It provides plenty of tools to configure various server services, and its stability provide the reliability needed for production-level demands. If you’ve ever used Fedora before, you’ll be familiar with the tools that you can download and install from the repositories, including the Software Updater and Add/Remove Software utility.
However, when it comes to using the tools, you have to know what you’re doing. If you’re just starting out, maybe setting up a Linux web server with Ubuntu may be easier.
Like I mentioned earlier, CentOS is extremely stable. The current release at time of writing, version 6.4, contains the old GNOME 2.28 desktop environment (by default) and Linux kernel 2.6.32. If these numbers don’t mean anything to you, just know that they’re very old. These packages are thoroughly tested for stability and contain plenty of patches to remain rock solid. Additionally, CentOS releases offer the same support (as in software updates and other patches) timeframes as RHEL — usually 10 years per major release.
Extra Packages for Enterprise Linux (EPEL)
Besides the default CentOS repositories, you can also add other RPM-based repositories, including the useful EPEL (Extra Packages for Enterprise Linux). This repository can help update some packages such as MySQL and PHP to include newer features and non-security patches. People claim that including EPEL no longer guarantees binary compatibility with RHEL, so if you rely on certain software packages that are made specifically for RHEL, you may want to think twice about adding this repository. However, if you choose to do so, the commands to run for 64-bit are as follows:
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
To get CentOS, just head over to their website, click on Downloads, then CentOS Public Mirror List, then choose a mirror (preferrably HTTP for faster download speeds), scroll down to the latest version (at the time of writing, choosing either 6 or 6.4 will work), choose “isos”, then choose your desired architecture (32-bit or 64-bit), and finally choose whether you want to LiveCD, LiveDVD, DVDs, minimal disc, or netinstall disc. Once downloaded, burn it onto a CD/DVD or copy to a USB flash drive and boot the system with the new media. Installation should be fairly straightforward if you’re capable of using the “manual partitioning” option in most Linux installers.
Overall, CentOS is a solid distribution that should definitely be given a try if you have any enterprise or server needs. Of course, CentOS is not for everyone and certainly not for the casual desktop user (may I at least recommend Debian if it’s stability you’re after?), but it has its uses and it accomplishes those tasks extremely well and reliably.
Which enterprise/server distribution do you use or recommend? Why that one compared to its competitors, with the top three choices probably being Debian, Ubuntu Server, and CentOS? Let us know in the comments!