Done. I've just migrate my new hosting server (delivered with CentOS) to an official Red Hat Enterprise Linux 6.4 version.
If you are interested, here is the detailed process (need to be adapted).
Check for packages requiring a priority update:
# rpm -qa centos\* redhat\*
centos-indexhtml-6-1.el6.centos.noarch
redhat-logos-60.0.14-12.el6.centos.noarch
centos-release-6-4.el6.centos.10.x86_64
Retrieve from the installation media the main distribution package:
redhat-release-server-6Server-6.4.0.4.el6.x86_64.rpm
We also need the RHN (Red Hat Network) access components to allow online update (and some dependencies):
libgudev1-147-2.46.el6.x86_64.rpm
m2crypto-0.20.2-9.el6.x86_64.rpm
rhn-check-1.0.0.1-4.el6.noarch.rpm
rhn-client-tools-1.0.0.1-4.el6.noarch.rpm
rhn-setup-1.0.0.1-4.el6.noarch.rpm
rhnlib-2.5.22-12.el6.noarch.rpm
rhnsd-4.9.3-2.el6.x86_64.rpm
pyOpenSSL-0.10-2.el6.x86_64.rpm
python-dmidecode-3.10.13-1.el6.x86_64.rpm
python-gudev-147.1-4.el6_0.1.x86_64.rpm
pygobject2-2.20.0-5.el6.x86_64.rpm
yum-rhn-plugin-0.9.1-43.el6.noarch.rpm
Remove the CentOS package:
# rpm -e --nodeps centos-release centos-indexhtml
Replace with the Red Hat one and install RHN packages:
# rpm -ivh \
redhat-release-server-6Server-6.4.0.4.el6.x86_64.rpm
libgudev1-147-2.46.el6.x86_64.rpm m2crypto-0.20.2-9.el6.x86_64.rpm \
rhn-check-1.0.0.1-4.el6.noarch.rpm rhn-client-tools-1.0.0.1-4.el6.noarch.rpm \
rhn-setup-1.0.0.1-4.el6.noarch.rpm rhnlib-2.5.22-12.el6.noarch.rpm \
rhnsd-4.9.3-2.el6.x86_64.rpm pyOpenSSL-0.10-2.el6.x86_64.rpm \
python-dmidecode-3.10.13-1.el6.x86_64.rpm python-gudev-147.1-4.el6_0.1.x86_64.rpm \
pygobject2-2.20.0-5.el6.x86_64.rpm yum-rhn-plugin-0.9.1-43.el6.noarch.rpm
Register the system and check the subscribed channel:
# rhn_register
...
# rhn-channel -a -c rhel-x86_64-server-optional-6
# rhn-channel -l
rhel-x86_64-server-6
rhel-x86_64-server-optional-6
Online update of new available packages (newer version):
# yum update
Install 1 Package(s)
Upgrade 80 Package(s)
Reinstall other packages (same version):
# rpm -qa --qf "%{NAME} %{VENDOR}\n" | grep CentOS | cut -d' ' -f1 | grep -v ^kernel | sort | tee lst
# yum reinstall $(cat lst)
Reinstall 291 Package(s)
Downgrade remaining package (older version, list should be short):
# yum distro-sync
Downgrade 23 Package(s)
It's done, a final reboot to switch to the new kernel and take all benefit from all updates:
# rpm -qa --qf "%{NAME} %{VENDOR}\n" | grep CentOS | cut -d' ' -f1 | grep -v ^kernel | wc -l
0
# yum update
No Packages marked for Update
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)
Total elapsed time : less than one hour (with only 2' of services unavailability)
Who next ?