Nayara
By:
Nayara

Whats is better and why? Linux CentoS or Ubuntu?

September 21, 2015 155k views
Linux Basics Linux Commands

I want know what is better, Linux CentoS or Ubuntu?

And explain your answer...

2 comments
  • Ubuntu is based on the venerable Debian distribution. CentOS is a free clone of Red Hat Enterprise Linux.
    Users who learned Linux on a Debian derivative will be more comfortable with apt-get, and those familiar with Red Hat systems may prefer CentOS, but if you’re new to Linux, the package managers aren’t really a strong differentiating factor.
    CentOS has a longer release cycle; it also has a much longer support cycle. Ubuntu’s Long Term Support releases, which are released every two years, have a support life of 5 years.
    CentOS is the preferred distribution in the hosting industry, so if you want your server to be compatible with the majority of that industry, it’s the safe choice.

  • In short:

    • CentOS is great for businesses and developers that don't need the newest releases. CentOS is more stable and secure because of that - it always uses stable (but older) versions of their software.
    • Ubuntu uses the latest (non-beta) versions and if you want all the latest features of some app/software, then get Ubuntu. If you've used the desktop version of Ubuntu, get an Ubuntu server. It will be easier. Ubuntu has a lot more community support (tutorials, forums etc.), so it's great for beginners.

    Actually, just recently I did a CentOS vs Ubuntu comparison.

10 Answers

i prefer ubuntu(easy) than RHEL.

i am not blindly supporting. i had my past experience.

we used RHEL 5/6 series.
we are web developers with ROR,postgresql,hadoop,golang(REST-API),angular2-dart,selenium,etc.
we were using puppet(server-agent) , chef(master-node-workstation) to replicate the infrastructure,
we used rvm/rbenv to install ruby VM.
but we have some issues with yum/rpm with RHEL.

for examples if we want to install latest rubies like 2.3.0 , it is little complex in RHEL.
because few c/c++ libraries will give dependencies issues like libyaml-x86-64,libyaml-i386,etc.
similarly we have many issues while updating packages to latest.
installing/uninstalling in RHEL is little headache .
we have more than 40 servers so we have to use puppet/chef.
there are many opensource puppet modules and chef cookbooks for ubuntu than RHEL.

recently we are migrated to ubuntu-14.04, which seems more stable release than the earlier.
it is very easy for us to code install/uninstall instruction for puppet/chef/Dockerfile,etc.
because apt source code repositories contains latest libraries.
apt package manager resolve many dependencies by itself, handling mismatch versions. with apt you can easily uninstall/remove pkgs.

apt repositories has latest source code for many of the open source technologies like ruby,rails,postgresql,golang, selenium,angular2-dart etc

recently we are moving to micro services, kubernetes,docker swarm, where we must have to use containers .we have to write many Dockerfile/s.
ubuntu is very suitable to work with Dockerfile/s docker containers, etc.
here again i prefer ubuntu than RHEL.

  • My vote, for the quality of the answer.

    All in all, i prefer ubuntu myself...
    Most likely for the fact that i got way, way more hours troubleshooting servers/setups and almost find my way 'blindly' when facing a new issue - no pretention here.

    I also find ubuntu more intuitive.. Thus, easier for one to make it a 'second nature' - if i may say so.

Should be mentioned that CentOs is no longer the "preferred distribution in the hosting industry" and has not been for a long time. That is simply a fake status, CentOS users would like to keep, but the reaility is one very different. Not even in VPS, Dedicated Servers or even Clouds. This also includes Red Hat in those different areas (Simple Hosting, VPS, Dedicated & Clouds). I will leave the following links for anyone to do their own checks but overall, Ubuntu covers well above the "preferred" term for all of this areas. So if you are looking for something that is applied in the industry, on the desktop, in the production stage but also in the development stage. If you are looking for something that is up to speed with latest technologies, openstack, deployment, and more, then please, one quick research for this will reveal Ubuntu above all others. In any case, I will leave the following for others to see and check for themselves.

Sources you can check out are as follow. I will also put the top 5 as of this writing where it applies:

W3TECHS - https://w3techs.com/technologies/details/os-linux/all/all
Ubuntu - 34.1%
Debian - 31.4%
CentOS - 20.6%
Red Hat - 3.7%
Gentoo - 2.7%

W3COOK - http://www.w3cook.com/os/ubuntu
Ubuntu - 29.9%
CentOS - 24.57%
Debian - 11.31%
Fedora - 0.68%
Red Hat - 0.01%

THE CLOUD MARKET - http://thecloudmarket.com/stats
Ubuntu - 57.5%
Windows - 7.8%
Red Hat - 4.8%
CentOS - 3.7%
Fedora 1.4%

OPENSTACK - http://www.openstack.org/assets/survey/April-2016-User-Survey-Report.pdf (Page 47)
Ubuntu - 55% (With an potential growth of up to 19%)
CentOS - 20% (With an potential growth of up to 7%)
Red Hat - 16% (With an potential growth of up to 4%)
SUSE - 2% (With an potential growth of up to 1%)
Debian - 3% (With an potential growth of up to 0%)

Even sources like Steam prove the amount of users compared to other distros that Ubuntu has, with 30% of all Linux users on Steam, followed by 9% which is a mix of other different distros.

http://store.steampowered.com/hwsurvey?platform=linux

Lastly the Linux Tendency over times shown here, clearly say what will happen in the following years:

https://w3techs.com/technologies/history_details/os-linux/all/y

https://www.google.com/trends/explore?date=today%2012-m&q=%2Fm%2F03x5qm,%2Fm%2F03x_8t,%2Fm%2F02prjf

Everyone has their preferences, I like CentOS but i use Enterprise Linux daily. Ubuntu fits in on some places but i think overall CentOS is more stable and secure. Just my opinion

  • centOS more secure than ubuntu ?

    • Each distro is as secure as the guy configuring it.

      In my experience Enterprise Linux (CentOS) is more secure out of the box. Once you start adding websites, scripts, etc to any distro and you aren't sure what you are doing that is when the vulnerabilities come in.

      • More experience are more secure, even the best customer proved, enterprise level or whatever better, it'll mean nothing if admin do not understand what they are doing

  • Fedora/RHEL/CEntOS have SELinux by default. In the case of Ubuntu you need to install AppArmor and you will get a enterprise level security.

I choose FreeBSD, very easy to use, super powerful and secure, great community. Comes zfs, jails. bhyve, PF... it is just superior

  • FreeLSD? Seriosly? But it's diying.

    • What is dying? If you are saying FreeBSD is dying then I would say you obviously have a very limited IT knowledge.
      All your Mac OS, iphones are FreeBSD, palystation and sony are FreeBSD, nintendo is FreeBSD, netflix runs of freebsd, whatsapp runs on FreeBSD, Islon runs of FreeBSD, most NAS are actually FreeBSD, most routers are either openBSD or FreeBSD. and many others. It is just due to the nature of BSD licence (unlike GPL) you are not required to share your code or mention that you are using FreeBSD.
      If anything, Actually FreeBSD now is booming, Linux is bloated and fragmented like never before. on the other hand FreeBSD provides the fastest, most secure, most consistent, and easiest Operating system now in the market with ZFS, superb port system and tons of brilliant features, LLVM, best community, best licence. And the best of all it is not a one man show and it is not systemd

      • Hi BlueCougar,
        I have to consult you in regards to FreeBSD. May I have your email please ?
        yalkis@gmail.com

      • Right. Not only that, but has anyone tried doing a no-gui install of Windows Server core lately?

        But seriously. FreeBSD should actually be a serious contender for many use cases, particularly where compatibility with 3rd party commercial software isn't a requirement. I learned the basics of Unix on FreeBSD, well enough that I was able to earn me root on my company's Solaris servers.

        Although I began my professional career on Windows NT, I've been with Red Hat since the beginning. Well, 1995. At work we began transitioning from Solaris to RHEL a few years into the new century. There's definitely a "Red Hat way" of doing things that, once you've learned it, can make managing RHEL systems more efficient. The main value of Red Hat's training is that it indoctrinates you in their way of doing things. RHEL is every bit as rock solid stable as people say, and most commercial software (yes, even Oracle) will run on it.

        My own deep dive into Ubuntu came in a Docker pilot we did at work this year. I was really impressed with 16.04 LTS server, so much so that I re-paved all my systems at home with it. The server edition of Ubuntu is as stable and reliable as any RHEL systems I have run. It does seem to have a slight edge on RHEL when it comes to package versioning, although lately I have found myself installing some things directly from vendors (for example, Docker). As someone else writes in these comments, it does take some time to absorb the little differences between RHEL and Ubuntu, particularly differences in service and file names, as well as system users and groups. These can be a challenge when trying to forklift from RHEL onto Ubuntu.

        But there's no more bad advice on Stackoverflow for Ubuntu than there is for RHEL, and the Debian wiki is a pretty reliable source for intermediate to advanced issues on Ubuntu. It's not the venerable FreeBSD Handbook, but then, what is? As with my RHEL work, the doc and contributed HowTos here on Digital Ocean have been an invaluable resource for me in my journey with Ubuntu.

        • FreeBSD as well the other BSDs mainly openBSD are super stable, secure, clean code. As for freeBSD it is super easy to use. I use it as my main workstation at home and for my personal applications running on VMs, although unfortunately at work we use only RedHat.
          I recommend everyone to give it a go with open mind. It has a great community who are willing to invest their time and effort to help and guide you to learn and solve your problems.
          I must agree it is a bit harder to install FreeBSD than Linux because it gives you the choice to build your machine the way you want. But once you go through the process first time things starts to making more sense and logic and I assure you will enjoy your experience.
          And can build the most the elegant and stable desktops -rock solid- with freeBSD.

I think Ubuntu has the brightest future. As Ubuntu desktop is the most commonly used linux on desktop/laptop. Those users will naturally choose Ubuntu server.

Also ubuntu has a very strong backup and their software updates are fast.

What can someone with no prior knowledge about the two do?

I have used both (and am currently using both).

I much prefer Ubuntu, which I've been using for less than 6 months. I've been using RedHat (and Centos) for over 10 years. It's only since switching to Ubuntu that I've realised just how Centos has been holding us back.

The problem is Centos is designed to be secure and stable, but as a result many things running on it are old versions, with back ported security fixes. If you've just spent a million dollars on an in-house software system, you don't really want it to break a few months later because everything around it is always being upgraded to the latest and greatest. Really this is what Centos is all about.

However, we have always battled with not being able to run certain things on Centos because everything is so out of date. I think the default version of PHP is 5.4 on Centos7 and yet many people are now using PHP 7. It's perhaps not a problem with an unmanaged service like Digital Ocean where you can upgrade things and take responsibility for it yourself, but if you have a managed service and have to stick with the official Centos Repos then you better get used to working with ancient versions of everything. From memory it also makes it a pain to run things like Magento and Laravel which often require newer versions of things than you'll have access to on Centos (by default).

For me Ubuntu is a breath of fresh air and I would ditch Centos tomorrow if it weren't such an upheaval to do so.

  • Thanks for the comment, I was starting to wonder if I was the only one having this challenge.

    I started with RedHat and have been using CentOS for years. I also have a LAMP based solution running on DO and want to move to php7 and a more current mysql variant. I was looking at external repositories to work with CentOS and then noticed that the latest LTS Ubuntu already has this. So, I and either work through through integration and testing of compatibility with external repositories or I can learn a different Linux platform and use what's already packaged with Ubuntu. There is pain either way... I'm just trying to find the most stable solution with the least amount of pain. Of course this also opens up the MariaDB vs MySQL debate... maybe that's for another thread.

    • What I can tell you is, for me at least, the differences you'll need to learn are minimal.

      I need to keep reminding myself Apache configurations are in /etc/apache2 and not /etc/httpd and it's apachectl -t to test configuration and not httpd -t

      And updating packages is done with apt instead of yum.

      There's a few things like that but nothing which didn't take me more than a few minutes to get a handle on.

We have been using both - even currently. We have been in the development space for many years now. Do agree that lot many packages on CentOS are old but definitely very stable and secure.

I would say each of the Linux distros have their own pros and cons. Not only than it also depends on what you are comfortable with. You need to decide between Yum and Apt - or - Selinux and Apparmor.

When developing/publishing PHP based projects, we always prefer to use CentOS. We always use unmanaged services so there is no problem of sticking to older versions of PHP. We use PHP 7.1 / Laravel 5.4 without any problems on CentOS.

On the other hand, when we are working with Ruby based projects, we go for Ubuntu. It is rightly pointed above by thaniyarasu - we do face dependency issues with c/c++ libraries while installing certain newer gems on CentOS.

I use Ubuntu at home for my own servers (about 7 years working with Ubuntu and other Debian based systems) and in work we use CentOS (about 4 years on and off with CentOS).

My go to would be Ubuntu if you want to set something up, play around for it for a while then maybe close it down, without having to worry about getting everything up and running.

Like said before, Ubuntu has more up to date repos, and I for one would prefer that, but if I was setting up a server I know will be used long term (like the ones I set up in work) I would use CentOS without question, its repos are based more on stability and security and if you really want more fancy stuff EPEL is your best friend!

Have another answer? Share your knowledge.