Is CentOS exactly the same as RHEL?

  • I'm sure this question has been asked again and again elsewhere (I did not find anything specific to CentOS vs RHEL in SE), but I would still like to ask and confirm a few specific points.

    I am well aware that CentOS removes all RH trademarks, logos, etc. and is based on the same codes with packages built by the community.

    • Are the packages built for CentOS exactly the same? Will the contents of the packages and the behavior of the programs be identical to those found on RHEL?
    • What is RHN other than a medium for license registration? What is it to CentOS?

    I'm an Ubuntu desktop user. Attended a RH299 course which did not really touch anything about the support aspect (i.e. RHN). Other than that I've no professional Linux knowledge or experience.


    I did read the CentOS 6.2 release notes, but I found the details unsatisfactory. The release notes mentions packages modified, removed or added to upstream. But it neither explains nor links to any document detailing what exactly is different in the modified packages. Granted the branding packages are self-explanatory, but it mentions packages like kernel, ntp, anaconda, etc. which have nothing to do with branding as far as I'm aware.

    This was just a guess on my side - derived from your question. I deleted that comment. So diff the source? Or `rpm -q --changelog` on the CentOS-package? Or ask Karanbir directly.

    A bad guess, since I've mentioned my Linux experience. Who exactly is Karanbir?

    Karanbir is the guy building and maintaining the x86_64 and i386 line of CentOS. The changelogs of the CentOS-specific packages are full of entries from him.

  • CentOS is very close to being RHEL without the branding and support. In particular, the library versions are the same, so binaries that work on one will work on the other. The administration tools are the same and configured in similar ways. However, there are a few differences, as the two distributions sometimes apply different minor patches. For example, in this question, it was apparent that RHEL 5 and CentOS 5 apply different rules to identify files under /etc/cron.d.

    In other words, at the level of your course, you can treat CentOS and RHEL as interchangeable. But if you needed to look up the precise behavior of a program in a corner of the man page, you may encounter differences.

    Is there anywhere I can find what those differences are? I read the CentOS 6.2 release notes, but other than modified packages (which I think are related to branding) and packages added or missing, no possible discrepancies with upstream is mentioned.

    And could you explain the RHN matter as well, please?

    CentOS explicitly aims for complete binary compatibility with RHEL. The only real difference is that they replace the branding-related packages from RHEL and recompile everything else from the sources provided by Red Hat.

    @vonbrand CentOS ships the same library versions (I believe that's what they mean by “complete binary compatibility”). Evidently they do more than rebrand and recompile, some programs are configured differently (e.g. cron).

    @Gilles, no, it goes further than that. They try to set up a build environment as closely similar to the one used by RHEL to rebuild the sources, and rebuild everything (except for the branding bits). That isn't so easy, as you start using version N to build N + 1, and mix with pieces of the new N + 1 to build the rest. Details aren't exactly published by Red Hat. This has been (part of) the reason for delays in the release of some CentOS major versions.

    Basically, there's no reliable info detailing the differences in the few packages I included in the example, correct?

    @Oxwivi I'm not aware of any resource beyond the release notes, but I don't administrate RH/CO machines, I only answer questions about them on SE, so I'm not the best person to ask.

    @Gilles Does the CentOS have/share any parts of the RHEL versions? I got a CentOS that shows red hat stuff anywhere, so i think is not really a Centos. Im confused now.

    Another difference I just found (with RHEL/CentOS 7.2): when a network interface is replaced with one with a different name, and no ifcfg script exists, CentOS treats it with the default options (connect automatically and use DHCP), while RHEL does not.

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM