I had a web server that ran Ubuntu, but the hard drive failed recently and everything was erased. I decided to try CentOS on the machine instead of Ubuntu, since it's based on Red Hat. That association meant a lot to me because Red Hat is a commercial server product and is officially supported by my server's manufacturer. However, after a few days I'm starting to miss Ubuntu. I have trouble finding some of the packages I want in the CentOS repositories, and the third-party packages I've tried have been a hassle to deal with.
My question is, what are the advantages of using CentOS as a server over Ubuntu? CentOS is ostensibly designed for this purpose, but so far I would prefer to use a desktop edition of Ubuntu over CentOS. Are there any killer features of CentOS which make it a better server OS? Is there any reason I shouldn't switch back to Ubuntu Server or Xubuntu?
-
Ubuntu is also released with a server edition, and you can get commercial support from Canonical.
DLH : I'm familiar with Ubuntu Server Edition. However, I figured CentOS must have some advantage over Ubuntu since it's based off a well-respected commercial product. However, I'm starting to question this.David Spillett : Ubuntu is based off the similarly respected, though not commercial, Debian.Craig Sanders : Centos's "advantage" is the association with RHEL - i.e. it's a branding advantage, not technical. for some environments (mostly large corporate and similar), a well-known name with a company behind it is essential.koenigdmj : Craig Sanders: And CentOS disclaims all association, to the point where they refer to Red Hat as "Prominent North American Enterprise Linux Vendor". Ubuntu, on the other hand, is well known to have a connection with Canonical. Thus, there's a well-known company behind Ubuntu as well.Craig Sanders : @koenigdmj: CentOS may disclaim the association but the only reason that anyone uses CentOS is that they know it's almost exactly the same as RHEL but free.Craig Sanders : which isn't enough reason for me - i use debian - but it is exactly what some people want.From koenigdmj -
By default, CentOS is pretty restrictive in its package selection and slow in the updates to new packages because it literally is a repackage of RHEL, and RHEL is slow and steady for reliability sake.
That being said, you have the ability to add other repositories which feature a wider selection and newer packages.
Check this link for more possibilities: http://wiki.centos.org/AdditionalResources/Repositories
I myself have used EPEL to a decent amount of success.
Jason : I prefer the Red Hat/CentOS way to Debian/Ubuntu personally but if you have a requirement for PHP 5.2 (for instance) it's easier to accomplish with a Debian distro. Of course all can be accomplished in CentOS as well by adding a repo or two or three - but sometimes you get conflicts between the old and the new.From Matt Simmons -
The "Killer Feature" is a near-identicalness to RedHat, which is the platform most targeted by third party vendors that offer support.
RedHat suffers from flaws in that major new features are only introduced for "major" version bumps; minor version bumps are usually bug- and security-fix only. (Firefox is the major, perhaps only, exception to this rule.) As such, it changes very slowly.
This flaw is also a feature, in that you can install an early rev of a particular stream and you know nothing important will change over the supported lifespan of the OS. So I have systems running RedHat 4 which are essentially unchanged except for security and bug fixes over the almost two years that the OS has been available.
This is, I understand, a major attraction of debian, too.
Other distros, such as Fedora, jam new features and versions of things in really fast -- but since their lifespan is so short, such distributions are therefore unsuited for use on servers. I don't want to have to rebuild everything every twelve months because my distro is now unsupported.
So if you want steady and stable, RedHat/CentOS is a good fit. If you want "new and shiny", it isn't.
From David Mackintosh -
'Enterprisey' server deployments are huge projects, with lots of inertia, and admins want to keep them running for many years with only bugfixes. Never new features without a well-rehearsed testing procedure.
For this, it's really valuable to have a slow-moving foundation. So that other big and slow-moving projects can be validated on the new version several months after release of the OS, and still you have years before it's declared obsolete.
That's what RHEL (and CentOS) provide: manufacturers can validate that it works on the hardware, big ISVs (like Oracle, for example) can test it, and then around a year after the last release of RHEL, you can use it knowing that everybody around you knows it very well. Then you install it, configure, and when it runs, it will keep running for years, without surprises. You can be (mostly) assured that when you patch it, you'll get the latest bug fixes, but not any new feature.
of course, the 'no surprises' part also implies not to update almost any part of the distribution for the whole lifetime of the release. So it's limited, and already obsolete when released (by other distro's standards).
Personally, I prefer Ubuntu's timing. It's very rare for me to have an application for more than 3-4 years without having to rebuild it (due to changing requirements), so long term stability (in the 'stagnancy' sense) isn't so crucial in most cases.
Craig Sanders : to add to that - if you want that kind of long term stability with an ubuntu-like environment rather than RHEL/CentOS then use the debian stable release (currently "lenny"). like RHEL/CentOS, no new features are ever added to debian stable, just security and other serious bug-fixes, and those fixes are back-ported to the package versions in 'stable' rather than upgrading to new versions.DLH : Good explanation of what RHEL and CentOS are trying to accomplish. I'm with you on your preference for Ubuntu's timing. I feel like the availability and ease of installation of packages is more important in my case than the long term stability.Cian : Ubuntu LTS gets fixes backported for 5 years also.From Javier -
There are no benefits that I can discern for using CentOS (or RHEL) over Ubuntu if you are equally familiar with using both OSes.
We use RHEL and CentOS heavily at work, and it's just painful -- we're building custom packages left and right because the OS doesn't come with them, and paid RedHat support is worse than useless, being chock full of "pillars of intransigence" who see it as their duty to make sure you never get to speak to anyone who can actually answer your question. (I've heard that if you spend enough money with them their support improves markedly, so if you're a fortune 500 you'll probably have better luck than we do -- but then again, if you're fortune 500 you're probably chock full of useless oxygen thieves internally anyway, so it feels natural to deal with another bunch of them)
That much-vaunted "hardware support" pretty much always comes in the form of puke-worthy binary-only drivers and utilities that I'd prefer to avoid by almost any means necessary. Just choosing hardware that has proper support to begin with is much less hassle than trying to deal with the crap utilities.
The long-term stability of the OS platform isn't a differentiating factor -- Ubuntu has LTS (long-term support) releases that are around for five years (and which are coming out more often than RHEL releases, so if you want the latest and greatest you're not waiting as long), so there's no benefit there either.
Proprietary software doesn't get much of a benefit, either -- installing Oracle on RedHat is just as much of a "genitals in the shredder" experience as installing it on Debian, and you won't get any useful help from Oracle either (proprietary software support is near-universally worthless in my long and painful experience).
The only benefit to running CentOS is if you are more comfortable working in that environment and have your processes and tools tuned that way.
osij2is : +1 for an opposing view and *colorful* euphemisms. "genitals in the shredder" I'll remember that one.DLH : Yeah, I'm definitely not comfortable working in CentOS. I'm going back to my former lover....I mean OS.Bob : "pillars of intransigence" is the most awesome phrase I've read or heard uttered this day....monomyth : I think you are comparing apples to oranges. ubuntu is more like fedora, and centos/redhat/oel/"whatever" is like debian with stuff that never gets updated to any decent level, but you get a chance to spend money on "support".From womble -
what are the advantages of using CentOS as a server over Ubuntu?
I've found CentOS to support virtualisation under Xen better - I tried Ubuntu at first, but it kept crashing. I've had 10 servers running on CentOS for the past couple of years, no problems. I do use Ubuntu as the OS for virtual machines, though.
womble : We run dozens of Xen VMs using Debian Lenny as the dom0; we considered CentOS but the version it ships with is rather embarrassingly old, and if you roll your own Xen you're completely on your own. That reminds me, though -- all this "CentOS/RHEL only do security updates" is bollocks, because they're sticking KVM into 5.4... nothing could possibly go wrong there...From David Hicks -
Linux is a kernel, not an OS distribution, so at the heart Ubuntu and Red Hat/Centos are the same OS. The difference is the layers added by the specific distribution; Red Hat is a bigger player because professionally they've been incorporated longer and are a name for enterprises. They also have commercial support and tools to enhance their offering...
So primarily they're a name that can be tossed around for pointy haired bosses that need a name to toss around because they don't know what you're talking about.
Ubuntu has support through Canonical and offers a long term support version of their product. They're just a newer (and more popular) kid on the block.
Overall it boils down to using what best fits your work habits and preferences. If you're comfortable using whichever distro, use it. You don't like some specific bit of the kernel you can still recompile it and customize it to your liking regardless of distro.
monomyth : I think you just confused yourself with kernels and OSes. OS is what differs Ubuntu from Red Hat, not the other way around.Bart Silverstrim : The kernel is the operating system, and every distribution is running the same basic kernel under the eye candy and distribution specific utilities. Ubuntu and Red Hat are both Linux, just different distributions. The difference I was pointing out is that the companies behind the distributions is what makes a difference to businesses, and most of the big names have support contracts available.From Bart Silverstrim -
I work in a relatively small shop as well. We have roughly 20 odd servers all running Ubuntu LTS - with some recent packages back-ported and hosted in a local repo. Works really well.
The only time I need to consider CentOS is when I have to deal with vendor to troubleshoot problem - the time when you need to install vendor supplied binaries - having a supported software stack gives your vendor no excuse to reject your support request because of "unsupported configuration".
Another use case could be application server setup to support a commercial software. You just don't want to fuss around to get things work simply because you prefer a distro over other.
Having said that I'm biased - I settled with Debian when I started on Linux years ago. Ubuntu is (IMO) Debian with shorter and more predictable release cycles. Never liked redhat/centos anyway...
womble : "gives your vendor no excuse to reject your support request" -- no, they just ignore it instead.From Lester Cheung -
We develop for CentOS because it's compatible with RHEL, which is among the most commercially supported distros. When ISVs produce Linux versions of anything (apps, binary kernel drivers, etc), chances are good it'll be supported on RHEL first. For that reason alone, we stick with the most common.
pauska : +1, True (and sad)From EmmEff -
Ubuntu is also more uptodate than centos on mono support.
From sirmak -
Example: RHEL 5's libfontconfig package has a bug in it and you cannot update the package to anything higher with yum. Thats not very stable. I ran a program on ubuntu and RHEL and it crashed on RHEL but not on Ubuntu (though it was due an improper piece of code in the application).
From yan bellavance -
The only reason you might get forced into using RHEL (or CentOS) is when software providers only guarantee support if you run their product on it.
I have a case like this right now, where we have to consider to either buy product A and learn RHEL enterprise administration, or hack it up on Ubuntu and use our existing knowledge.
Alot of posters above me here seem to forget (or don't know) that Ubuntu has a LTS Server release. The only updates you'll get are fixes and security patches, nothing else. If you desperately need to install something newer from packages you can just use 3rd-party software repositories (like dotdeb for latest PHP/MySQL for LAMP servers), but it will violate any existing support contract with Ubuntu.
From pauska -
For a single server it doesn't really matter. So just run FreeBSD :) You'll get ZFS and Dtrace.
But it matters when you deploy hundreds.
From monomyth -
CentOS and RedHat releases also provide better security than Ubuntu. And yes, RedHat and familiar distros are designed for long term service. I mean years, and not only 1-2-3 years... There are still RedHat 3 based server systems, and they are still stable. New versions of apache, tomcat, java, mysql, Oracle, or whatever database are still applicable. Yes, RedHat and familiars are upgrading slowly. They are testing new versions of packages for very strange cases. There are many error kinds, which show themselves after long uptime, or heavy usage.
In the mean time, Ubuntu has new packages, mostly not tested for long term service; sometimes even betas.
I have used RedHat and CentOS for 5 years now, and I also have official certificates. I got used to its 'hard way thinking'. Ubuntu is more comfortable, and more known to the grand public; therefore for script kiddies, and default-setting-exploiters as well. It is easier to use, and hack (... way easier).
Luke has no name : citation neededAndrew Vit : Inaccurate and biased.pauska : useless post, grow some knowledgeFrom Salcay -
For my company I use a Redhat Server... For my own purposes I run Ubuntu at home to get stuff done, or connect to said server. I also use Windows 7... So it really comes down to what you are dealing with. I use Redhat Server because it is very stable, and I rarely if ever touch it and do not plan to, it also has no GUI and is optimized for the specific hardware to serve web pages and email, not for any type of user experience.
Given the choice I would never use Redhat to work in on a day to day basis, ubuntu is the far superior IMHO desktop OS currently.
From jd- -
Tried both and it is the same to me... There are some difference in packages, paths, etc but at the end of the day, it's still Linux Distro...
From mangia
0 comments:
Post a Comment