It's not about RHEL.
Here's the deal about most Linux distros. They are not a set of some loose components thrown in together.
They are actually quite a strict set of packages with intricate dependencies, so for a distro A version N you can only have have X Y and Z versions of components, otherwise your system will stop functioning because dependencies will be broken.
Microsoft solved this issue a long time ago with Windows Vista using WinSxS, unfortunately it won't work for Linux for the following reasons:
- It's maddenly expensive to maintain
- You need to take care of build time dependencies and Linux distros only have a single
/usr/include
directory
- Microsoft has a 100% stable in terms of API/ABI core components such as ntoskrnl and user32, Linux doesn't. Glibc adds new APIs almost each release and that makes reconciling all the libraries a near impossible task.
RPM is such a core component, you don't replace/update it willy-nilly. You still can compile a new version from sources and install it to e.g. /usr/local
or /opt/rpm
but using it with your existing RPM database could result in your RPM database being rendered broken for the existing RPM package manager.