- What is the current difference between CentOS and Red Hat Enterprise Linux?
- 1 Answer 1
- Repository Organisation
- Java
- Security Patches
- Docker
- Direction
- Update: Dec-2020
- Why choose Red Hat Enterprise Linux over CentOS Stream for production use
- Start planning your migration from CentOS Linux® now to ensure business and development continuity.
- 1 Life cycle
- 2 Updates
- 3 Security and compliance
What is the current difference between CentOS and Red Hat Enterprise Linux?
What is current the difference between CentOS and Red Hat Enterprise Linux (as of 2017)? When you develop software targeting Red Hat, users and support staff inevitably ask why can’t they just use CentOS instead as «CentOS is the same as Red Hat». I often find myself in a position of having to explain the costs vs benefits of using one or the other as «Free» does not mean there is not a cost somewhere. Someone has to pay the cost of covering the risk that there is a significant difference. What practical differences can we point to, to explain the difference? How do they differ in terms of targeting them as a development platform? The question of how CentOS and Red Hat differ is old. However, I think some things may be different in 2017 from what they have been previously. I’ve added my own answer as a community wiki. Please chip in if you can improve on it.
1 Answer 1
Each platform you support comes with an associated cost. Typically you require:
- A build environment
- A separate test environment (for example, not having the development tools installed)
- Additional time to build and test new releases
- Additional resources to support each platform
CentOS aims to be binary compatible with Red Hat which lessens the need for a separate build environment. However, if you don’t also have access to a CentOS environment, at least for testing, you might get caught out by subtle differences. Theoretically you might be unable to reproduce an issue that occurs on a user’s CentOS installation on your Red Hat installation.
You might also have to provide different installation instructions for dependencies due to the different repository organisation.
Repository Organisation
Red Hat as of RHEL 7 has split things up into many more repositories:
- atomic host
- server
- workstation
- optional variants of the above
- supplementary repos for the above
- beta repos for the above
In fact I count no less than 85 (as follows):
>yum repolist all | grep rhel | wc -l 85
This does not seem to be the case for CentOS 7 (please correct me if I’m wrong)
Moreover things available in one RHEL repository are not compatible with some of the others. For example, docker from atomichost does not play well on my workstation install.
Java
This post from 2016 mentions that (Oracle) Java cannot be installed directly on CentOS:
Red Hat has a contract with Oracle to redistribute Oracle Java SE binaries (including the JDK and JRE) and to support those products as part of a RHEL subscriptions. CentOS does not ship Oracle Java SE; CentOS users who wish to use Oracle Java SE must download and install it directly from Oracle.
Security Patches
Red Hat provide extended life-cycle support for older versions (at additional cost). This means that you can get patches for critical CVEs for RHEL 5 while CentOS can simply write off CentOS 5 as no longer supported. Notably there have been several critical CVEs affecting RHEL 5 since it (and CentOS 5) reached end of life.
Docker
With the rise of Docker we have a new difference:
Docker Community Edition (Docker CE) is not supported on Red Hat Enterprise Linux.
You must instead buy Docker EE license. You can install Docker-CE on RHEL using the CentOS repositories. See install Docker CE 17.03 on RHEL7
But this is obviously an unsupported configuration.
This is an odd one as that decision is made by the Docker team and not Red Hat. So presumably Red Hat could decide to support Docker CE if they wanted to?
The essential difference between them is still the same:
If you want commercial support and certification you need to pay for it (use Red Hat) If you don’t want it you can use CentOS.
Direction
Red Hat and the CentOS Project are building a new CentOS, capable of driving forward development and adoption of next-generation open source projects.
This is corporate blurb but it could be taken as meaning Red Hat want RHEL to diverge from CentOS in some interesting but unspecified way.
Update: Dec-2020
The direction for CentOS is now clearer:
- CentOS 8 is to be end of lifed early (2021).
- CentOS 7 support continues until 2024.
- RedHat (now owned by IBM) will no longer provide a CentOS that competes with RHEL.
- They now have «CentOS stream» which is upstream from RedHat and acts a bit like a beta.
The eagle eyed may note that Fedora is an upstream version of RedHat. So where does CentOS stream fit? To explain the difference lwn says:
“If the distros were wooden furniture, RHEL would be a finished desk, Stream would be the unpainted and unsanded desk, and Fedora would be the tree.”
A further explanation and more positive spin on the split is given by:
- https://fedoramagazine.org/fedora-and-centos-stream/
- To fill the niche CentOS used to fill some of the original CentOS team are creating Rocky Linux — https://github.com/rocky-linux/rocky outside of RedHat.
- There are some other notable projects that already existed independently of CentOS, notably AlmaLinux which fill a similar niche.
yum install centos-release-scl
Why choose Red Hat Enterprise Linux over CentOS Stream for production use
Start planning your migration from CentOS Linux® now to ensure business and development continuity.
The CentOS Project will discontinue updates and releases of CentOS Linux between 2021 and 2024. As a result, CentOS Linux users must migrate to a new operating system to continue receiving updates, patches, and new features. This presents an opportunity to reassess your organization’s needs and migrate to a platform that will support your business now and in the future.
CentOS Stream is a continuously delivered distribution that lets open source community members contribute to Red Hat® Enterprise Linux in tandem with Red Hat developers. CentOS Stream may seem like a natural choice to replace CentOS Linux, but it is not designed for production use. It is intended as a development platform for Red Hat partners and others that want to participate and collaborate in the Red Hat Enterprise Linux ecosystem. Consequently, running CentOS Stream in production environments presents many challenges compared to enterprise-ready distributions like Red Hat Enterprise Linux.
This checklist reviews four key reasons for choosing Red Hat Enterprise Linux over CentOS Stream as a replacement for CentOS Linux.
1 Life cycle
Long-term, supported operating system life cycles deliver the increased stability and return on investment that enterprise organizations need to be successful.
Each major release stream of CentOS Stream will receive updates and patches for only five years. As a result, you will need to upgrade to new release streams more frequently. You will likely need to perform these upgrades manually, as the community has not developed in-place upgrade tools for CentOS Stream. And the CentOS Project does not offer commercial support for CentOS Stream users, so you must handle all platform support issues yourself.
A Red Hat Enterprise Linux subscription includes at least 10 years of updates and support — including access to advanced security features, patches, and guidance — for major releases. Red Hat also offers in-place upgrade tools to make moving to a new major release easier and faster. Finally, your subscription includes Red Hat Insights, a unique managed service that uses predictive analytics and deep domain expertise to help you better manage your IT environment throughout the entire Red Hat Enterprise Linux release life cycle.
2 Updates
A consistent, up-to-date IT environment is essential for maintaining security and compliance, operational efficiency, and service availability.
CentOS Stream updates can be released at any time, without warning. If your organization updates groups of systems at varying cadences, you may be at significant risk for operating system version and configuration drift across your enterprise. When using CentOS Stream, you must closely inspect, analyze, monitor, and manage your updates — a tedious, time-consuming, and continuous process — to avoid inconsistencies in your IT environment. And, because CentOS Stream does not support live kernel patching, you must restart systems when performing updates, causing greater disruption.
Red Hat issues Red Hat Enterprise Linux updates and minor releases at a predictable, production-friendly cadence — with complete documentation — allowing you to plan, update, and maintain your systems more easily. Plus, all subscriptions can access live kernel patches for critical and important Common Vulnerabilities and Exposures (CVEs) at no extra cost, helping you reduce system downtime due to update processes.
3 Security and compliance
Enterprise organizations need to ensure compliance with corporate, regulatory, and industry requirements while protecting their systems from security threats and supporting new business objectives.
CentOS Stream updates include undifferentiated security patches, bug fixes, and other changes. All are delivered in a single package — without documentation — so you cannot choose which security updates you apply, or when you apply them. Consequently, you must completely update your systems to apply security patches. Additionally, CentOS Stream does not carry any security standards certifications, making it difficult to ensure compliance. To perform security audits, you must inspect, analyze, and prove the security of the CentOS Stream code yourself.
Red Hat Enterprise Linux provides built-in security features, security certifications, and simpler ways to maintain compliance. Automated security tools, regular updates and patch releases, and accessible expertise safeguard your environment. Included with your subscription, Red Hat Insights delivers continuous vulnerability alerts and targeted guidance to help you maximize uptime and avoid emergencies due to security issues, noncompliant settings, unpatched systems, and configuration drift. Security standards certification lets you use Red Hat Enterprise Linux across use cases with confidence. And a dedicated security team, scanning and remediation software, and ongoing access to new resources help you ensure continuous compliance.