The real differences between Red Hat Enterprise Linux (RHEL) and CentOS

Solution 1:

Short of doing installations of both and running a fancy diff between the two and manually picking through the output, there's no real way to prove to most people that they're the same. Yes, they use the same compiler, and the same linker, and the same libraries, all with the same options, but many people don't see induction as proof.

Solution 2:

Any answer must be tailored to just who it is that needs the proof (or what sort of "who"), and the level of proof (read: how tolerant the application is of differences).

For the casual: they build from the same sources, so they are functionally the same. You can obtain the source rpm for any given package through both distributions and compare them.

For the nit-picker: the two environments are provably not the same. Everything is rebuilt from the same sources, but the RH build environment is not perfectly described. Arguably the CentOS team's cannot be identical without constant inside knowledge. The artwork is clearly different. The updaters are clearly different: 5.x is closer since both use yum, in 4.x C uses yum and RH uses a proprietary one.

For the paranoid: if you allow updates, no two machines are going to stay the same unless you take extraordinary measures like cloning disks (and violate licensing...?).

For the practical: what does it matter to the application? We test on both. After we test on both, we can deploy both.

Solution 3:

what's the logic for RHEL in production and CentOS in dev/test ?

frankly, even if they're "scientifically" the same, you should use 3 (ideally 4) identical environments for dev/qa/staging/prod.