The latest CentOS (Community ENTerprise Operating System) distribution is built from the freely available (under the GPL and similar licenses) sources for Red Hat Enterprise Linux 5. The initial platforms supported are x86 (i586 and i686) and x86_64 (AMD64 and Intel EMT64) with planned support for IA64 and others soon.
The key advantages of CentOS over other server-type distributions, apart from its free nature (as in both speech and beer), is its rock-solid reliability and the long lifecycle of the product. The CentOS project expects to supply maintenance updates for Centos 3 until 2010 and for CentOS 4 until 2012. Projecting this forward, maintenance for CentOS 5 should be active until at least 2014.
CentOS 5 comes as a 6-CD set (a 7-CD for the 64-bit version) or as a single-layer DVD. I downloaded the DVD version and used it to boot my server. Installation is straightforward (similar to that of previous versions of CentOS and similar to Fedora Core) and shouldn't be difficult, especially if you are used to installing Linux. The installation process uses a graphical interface with on-screen instructions, but you will need as least 512MB of memory to use it; there is a text installer for those with at least 128MB. If you are installing on a new server and you are happy to have all the disks reformatted, use the "automatically partition" option for the disk partitioning setup, as this will save you lots of time. If you need a more complicated setup with RAID, then you will need to customize the disk partitioning. As my test server is a dual boot machine, I used the customised disk partitioning to install CentOS on a free partition. The installation went without hitch. The installer correctly recognized the presence of the other OS on the machine and configured the bootloader accordingly.
One big difference between Red Hat Enterprise Linux 5 and CentOS 5 is that CentOS 5 includes packages from different RHEL variants, including the server and client varieties. All the Red Hat repositories have been combined into one to make it easier for end users to work with packages.
CentOS 5 comes with all the usual suspects in terms of server and application software. At its heart is Linux kernel 2.6.18 with some enterprise tweaks to support large amounts of memory and data. Also bundled are Apache 2.2.3 (with built-in support for file sizes larger than 2GB on 32-bit hardware platforms), MySQL 5.0.22, and PHP 5.1.6. Other server components include PostgreSQL 8.1.4, Samba 3.0 (for file sharing with Windows machines), and Bind 9.3.3. For messaging there is Postfix 2.3.3 or Sendmail 8.13.8 coupled with the Cyrus 2.3.7 IMAP/POP3 daemon, or alternatively Dovecot 1.0.
For the desktop, CentOS offers GNOME 2.16 and KDE 3.5.4. Also included is OpenOffice.org 2.0.4, Firefox 1.5.0.10 for Web surfing, and Thunderbird 1.5.0.10 for email. CentOS bundles a whole range of other desktop applications, for functions from CD burning to photo and image manipulation. Although bleeding-edge applications aren't included, the older versions reflect the philosophy of CentOS 5, which is to use mature packages with a proven track record rather than rely on newer and sometimes less reliable versions.
Virtualization
One of the biggest changes in CentOS 5 is the inclusion of the Xen virtualization technology. Virtualization allows multiple operating systems (known as guests) to run on a single server at the same time. Essentially it lets you run a virtual PC or server on your host server that shares its CPU and memory. You can choose whether to include the virtualization packages during the installation.
Using Xen, a server can run multiple copies of CentOS 5 on the same hardware. If your CPU supports hardware virtualization (with Intel VT or AMD SVM technologies), then you can also host arbitrary, unmodified guest operating systems, such as Windows.
CentOS 5 supplies two tools for installing and managing guest operating systems: virt-install, a simple command-line program to set up and install a virtual machine, and virt-manager, a graphical program that lets you monitor and manage the virtual machines you have running. It reports details about CPU and memory usage and lets you halt active virtual machines.
One thing to note is that virtual machines can't be installed from a physical DVD; unlike VMware and SUSE Linux Enterprise Server, CentOS supports only network installations, either from the Internet (via HTTP) or via an NFS-mounted DVD, due to lack of support for physical devices in the installation tools. CentOS needs to resolve this to if it wants to lead the pack in terms of Linux virtualization.
The CentOS developers have put a lot of work into making Xen reliable and workable on CentOS 5, but of course Xen isn't the only virtualization technology available for Linux. Virtualization products from VMware and InnoTek, among others, should also work.
Clustering and SELinux
In addition to virtualization, CentOS 5 includes enterprise features for clustering and security. A cluster is a group of connected computers (called nodes or members) that work together to provide a common service, such as file sharing using the GFS file system or for high-availability services.
You can install clustering support when you install the operating system, or at any time afterward by using the system-config-packages program. The clustering packages are grouped together as Clustering and Cluster Storage.
For enhanced security, you can implement SELinux, which is a set of modifications to the standard Linux sources that confine user programs and system servers to the minimum amount of privilege they require to do their jobs. It stops applications from misbehaving and prevents them from increasing their privileges beyond what you allow. This reduces or eliminates the harm a hacker can do to a system.
SELinux was developed primarily by the US National Security Agency (NSA), and was released to the open source development community in 2000. SELinux first appeared in CentOS at version 4.
SELinux has often been more trouble than it is worth, especially if your server was in a secure LAN environment protected by a good firewall. CentOS 5 aims to make using SELinux easier. It includes the SELinux Troubleshooting Tool (setroubleshoot), which is a user-friendly tool for notification and diagnosis of access denials. SELinux normally reports policy violations in the logging system as access vector cache entries. With the SELinux Trouble Shooting Tool, alerts are also generated to the desktop with clearer information about the problem.
Technology previews
CentOS 5 includes several new technologies that the developers don't consider production-ready, but which are included to allow you to preview and plan for their arrival. They include:
During my test drive, CentOS 5 proved (as did previous versions) to be stable and robust. If you need support, there are many free ways to get it, including IRC, mailing lists, forums, and a good FAQ.
CentOS 5 has many improvements in its latest release. If you are already running CentOS 4 and are looking to upgrade your systems to newer versions of key server services like PHP 5 and MySQL 5, or if you are just looking for a solid general-purpose Linux operating system, CentOS 5 is a good choice. It will be my Linux distribution of choice for servers.
Gary Sims has a degree in Business Information Systems from a British university. He worked for 10 years as a software engineer and is now a freelance Linux writer and consultant.
Gary Sims has a degree in Business Information Systems from a British university. He worked for 10 years as a software engineer and is now a freelance Linux consultant and writer.
Note: Comments are owned by the poster. We are not responsible for their content.
CentOS did mainstream yum before RH did (though this is now included in RHEL5). In general, CentOS tries to hew very closely to RHEL while adding a few pieces which have made system management very much easier (RHN is a PITA, and raw 'rpm' should have died or been subsumed by more powerful tools ten years ago), and allowed for integration of third-party packages within the CentOS yum repos. To this extent, CentOS is somewhat more responsive to end-user needs than RH has shown themselves to be.
What CentOS also accomplishes, however, is to commoditize Red Hat's Linux offerings. In much the way RH sought to commoditize Sun's Unix offerings. Oddly enough, Sun is among the sponsors of CentOS. Go figure.
In my own recommendations to management, I suggest that if you're going to go with a RH-like system, you may as well go with RH, because you're ultimately shooting the value proposition in the foot (to mangle metaphors) by cutting off its air supply. Which isn't to say I generally recommend RH: while it offers VAR and third-party ISP endorsements (the principle value), actual support has been<nobr> <wbr></nobr>... wanting (a fact RH has shown painfully increased awareness of lately). The growth of ABRH (anything but RH) deployments many locations, whether Fedora, CentOS, Suse, or increasingly Debian/Ubuntu, has been significant over the past several years. While RH still appears to have legs, the company has played very close to the line of providing useful service and annoying the hell out of its customer base and in particular technical evangelists.
For those wedded to a commercial RPM-based distro, Novell's Suse exists. I vastly prefer Debian or Ubuntu in both server and desktop roles, and generally recommend either over RH/Suse for a host of reasons which largely culminate in "more power, less pain".
User-responsiveness and policy will get you a long way.
Karsten M. Self
That's BS. RHN does more than delivering packaging. It has provising, monitoring etc which CentOS LACKS.
The problem with RHN is the per-system licensing requirements. While you could argue that this is a "we want something for nothing" situation, the truth is that a key GNU/Linux feature has been deployment flexibility and freedom from licensing constraints. RHN singlehandedly destroys a large part of the user's value proposition. There's the additional annoying problem of vast amounts of otherwise useful information (bugtracking, discussions, and of course binary RPMs) disappearing behing RHN registered-user-only firewalls. These are complaints coming directly from experience at various corporate settings, ranging from tech startups to Fortune 500 firms. It's a wonderful way to alienate your technical evangelists and make supporting your product more difficult. RH have succeeded beyond all expectations on this last front.
As for monitoring and provisioning, our heterogenous (10,000+ systems comrising RH, Suse, commercial Unixes) environment requires use of cross-platform tools for provisioning (Opsware) and monitoring (Ganglia, Nagios, in-house tools). RHN is not an appropriate global solution.
[WRT RH support] Incorrect. Red Hat has been number one on support for n number of years.
You and I apparently inhabit different universes. Can you tell me more about yours? My physicist friends would be fascinated.
In mine, three tiers of RH customer reps came on site (F-500 tech customer) recently to make Alberto Gonzales's current Congressional hearings look like a love-in. I've never such a contrite performance from a vendor in my life. RH are well aware that their support execution has been sorely lacking (and if this still puts it at "number one" on unspecified criteria this damns the entire field) and may actually be turning things around. I'm just reporting my own experience.
[WRT Novell/Suse] That would be getting wedded to Microsoft all over again.
Which was pretty much exactly my point.
[WRT Debian/Ubuntu] That would really be "unproven. Pretty much no ISV's.
Yes and no.
Most third-party apps I've encountered run just fine on Debian, whether or not they're officially supported. Truth is, they're likely not supported on anything other than RH or Suse, which puts all alternatives on largely equal footing (and as I pointed out originally, this is among the last remaining true advantages of either of these two distros).
A great many Linux deployments don't run any significant third-party, proprietary apps, but are used instead for deploying in-house development, as build systems (basic GCC toolchain), or can be fully provisioned from within the ~20,000+ packages available within the Debian archives. That's over three times the offerings of RH (roughly 6-7k packages last I checked), and among the reasons my own deployments tend to be Debian (or Ubuntu): I've very rarely got any call to go outside the available packaged software (current exception list: Google Earth. MM Flash. That last I'll lose when Gnash is sufficiently developed).
Finally: Ubuntu, being a well-capitalized (Mark Shuttleworth took in over $1b from sale of Thawte), clueful company is well positioned to establish ISV partnerships and is in the process of doing so. This is an advantage of corporate-based distros over community ones, in that they've got the infrastructure to do this sort of thing. Ubuntu has to date played pretty closely to Debian in other aspects which gives it a win in my book over other Debian-based distros (several of which have also inked ISV partnerships) including Linspire, Xandros, and others. RH are on shifting sands here as well.
It's interesting to note that the one notable ISV which is most often mentioned as a reason for deploying RH (often with the phrase "we might want to run Oracle so we must run RH") is, oh, I gave myself away, Oracle. Who last I heard wouldn't even think, no sir! of, say, rolling out their own distro to free themselves of some pesky little complaints about RH such as, oh, just stabbing in the dark, insufficient support levels.
I'm not saying RH are dead. I'm saying they should be gravely concerned about their position and execution.
Karsten M. Self
This points up the Achilles heel of free software. Red Hat has put a huge amount of investment into making Linux enterprise-ready. They have contributed most of their work to the community.
Then along comes CentOS, copies Red Hat's code, takes off the "Red Hat" label and substitutes "CentOS" - and proceeds to try to destroy Red Hat's business.
If CentOS succeeds, Red Hat dies and so does Linux in the enterprise, because Red Hat is the company that has the know-how, the resources, and the incentive to keep Linux up with evolving requirements in the enterprise.
BTW CentOS did not "add virtualization". Red Hat did. As far as I can tell from the article, CentOS has added nothing, apart from a few apps whose developers think aren't ready for prime time yet anyway. They're just parasites on Red Hat.
May I suggest you actually read a comment before replying to it?
"stolen" (according to your reasoning)
I have no idea where you got this from. Certainly not from anything I wrote.
The raw material for a distro is code that the community has developed, but there's a lot more to putting together a distro than downloading a bunch of code. Other distros (for example Debian) use the code that others (including Red Hat) have developed, but they're certainly not parasites - among other things, (1) they have developed their own vision and aims, (2) they contribute significantly to the community. There are distros based on Debian, but again they have their own, different, vision and goals and they contribute to the community.
Sure, the GPL gives you the legal right to copy a bunch of code, or a whole distro, slap it onto a DVD or 6 CDs, and stick your logo on the result. But ethical distros do more than that. It is perfectly possible to stay 100% within the law, and still be a parasite.
In many, many situations I've installed CentOS at
the evaluation stage of a project where the
budget is tight. Once the system is proven and the
client is happy to roll-out the system into production,
it is often switched to a RedHat installation
as the customer wants the big-company support
behind it - the company that is approved by
the software vendor.
CentOS for me is a great sales/evaluation tool.
It vastly reduces the time/complexity in getting
a single-server install up, running and patched.
Ultimately, it has resulted in sales for RedHat
down the line.
CentOS 5 added virtualization!!!!
Posted by: Anonymous Coward on April 19, 2007 01:01 AMGive credit where credit is due..
#