Transformar una RHEL en una CentOS mediante yum
Resulta muy común encontrar servidores que les instalan una RHEL sin licencia, lo cual me parece muy mal considerando que tenemos disponible CentOS que básicamente es un RHEL “sin marca”. Hoy veremos como transformar un sistema RHEL en uno CentOS mediante yum. Gracias a esta transformación podremos actualizar el sistema directamente de los repositorios sin tener que hacer trapicheo con los RPMs descargados en un sistema con licencia.
Este procedimiento es arriesgado en general y especialmente en caso que tengamos algún problema con el sistema RPM.
Primero de todo deberemos buscar los paquetes necesarios considerando versión y arquitectura. Lo podemos ver mediante /etc/redhat-release y un uname:
$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.4 (Tikanga) $ uname -a Linux adama 2.6.18-164.2.1.el5 #1 SMP Mon Sep 21 04:37:42 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
Podemos encontrar los paquetes dentro de mirror.centos.org, en el caso de la versión 5 para x86_64 lo podemos encontrar en el siguiente path: http://mirror.centos.org/centos/5/os/x86_64/CentOS/
Primero de todo deberemos tener actualizados los paquetes y sin conflictos, a continuación podremos descargar los siguientes paquetes:
- centos-release
- centos-release-notes
A continuación podremos instalarlos mediante rpm -Uvh:
# rpm -Uvh centos-release-* warning: centos-release-5-4.el5.centos.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 Preparing... ########################################### [100%] 1:centos-release-notes ########################################### [ 50%] 2:centos-release ########################################### [100%]
A continuación ya podremos eliminar los paquetes relacionados con la comprobación de licencia, plugin para yum y demás utilidades para acceder a la Red Hat Network:
rpm -e yum-rhn-plugin rhn-client-tools rhn-setup rhn-check rhnsd rhnlib
Por lo que ya podemos actualizar todos los paquetes del sistema mediante un yum update:
# yum update (...) updates 81 k xorg-x11-server-Xvfb x86_64 1.1.1-48.67.el5_4.1 updates 1.6 M xterm x86_64 215-8.el5_4.1 updates 410 k ypbind x86_64 3:1.19-12.el5 base 37 k yum noarch 3.2.22-20.el5.centos base 997 k yum-metadata-parser x86_64 1.1.2-3.el5.centos base 25 k yum-security noarch 1.1.16-14.el5.centos.1 updates 25 k Installing for dependencies: bitstream-vera-fonts noarch 1.10-7 base 343 k dmraid-events x86_64 1.0.0.rc13-53.el5 base 22 k hmaccalc x86_64 0.9.6-1.el5 base 21 k sgpio x86_64 1.2.0_10-2.el5 base 11 k yum-fastestmirror noarch 1.1.16-14.el5.centos.1 updates 19 k Updating for dependencies: fipscheck x86_64 1.2.0-1.el5 base 13 k Transaction Summary ============================================================================================================================================================== Install 9 Package(s) Update 235 Package(s) Remove 0 Package(s) Total download size: 259 M Is this ok [y/N]:
Deberemos dar el OK a proceder, una vez descargados nos va a avisar que la key de CentOS no la conoce:
Total 695 kB/s | 259 MB 06:21 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 Is this ok [y/N]: y
Deberemos indicar que si para poder proseguir. A continuación veremos como se instalan todos los paquetes, al final veremos un Complete:
0:8.1.18-2.el5_4.1 postgresql-libs.i386 0:8.1.18-2.el5_4.1 procmail.x86_64 0:3.22-17.1.el5.centos psmisc.x86_64 0:22.2-7 pyorbit.x86_64 0:2.14.1-3.el5 python.x86_64 0:2.4.3-27.el5 readline.x86_64 0:5.1-3.el5 readline.i386 0:5.1-3.el5 redhat-artwork.x86_64 0:5.1.0-28.el5.centos redhat-logos.noarch 0:4.9.99-11.el5.centos redhat-rpm-config.noarch 0:8.0.45-32.el5.centos rmt.x86_64 0:0.4b41-4.el5 rpm.x86_64 0:4.4.2.3-18.el5 rpm-build.x86_64 0:4.4.2.3-18.el5 rpm-devel.i386 0:4.4.2.3-18.el5 rpm-devel.x86_64 0:4.4.2.3-18.el5 rpm-libs.i386 0:4.4.2.3-18.el5 rpm-libs.x86_64 0:4.4.2.3-18.el5 rpm-python.x86_64 0:4.4.2.3-18.el5 rsh.x86_64 0:0.17-40.el5 screen.x86_64 0:4.0.3-1.el5_4.1 selinux-policy.noarch 0:2.4.6-255.el5_4.4 selinux-policy-targeted.noarch 0:2.4.6-255.el5_4.4 setup.noarch 0:2.5.58-7.el5 setuptool.x86_64 0:1.19.2-1.el5.centos sos.noarch 0:1.7-9.27.el5 specspo.noarch 0:13-1.el5.centos sqlite.x86_64 0:3.3.6-5 sqlite.i386 0:3.3.6-5 sqlite-devel.x86_64 0:3.3.6-5 strace.x86_64 0:4.5.18-5.el5_4.1 subversion.x86_64 0:1.4.2-4.el5_3.1 subversion.i386 0:1.4.2-4.el5_3.1 sudo.x86_64 0:1.6.9p17-6.el5_4 system-config-lvm.noarch 0:1.1.5-1.0.el5_4.1 system-config-network-tui.noarch 0:1.3.99.18-1.el5 systemtap.x86_64 0:0.9.7-5.el5_4.3 systemtap-runtime.x86_64 0:0.9.7-5.el5_4.3 tcl.x86_64 0:8.4.13-4.el5 tcp_wrappers.i386 0:7.6-40.7.el5 tcp_wrappers.x86_64 0:7.6-40.7.el5 tcsh.x86_64 0:6.14-14.el5_4.3 tzdata.noarch 0:2009u-1.el5 udev.x86_64 0:095-14.21.el5 unix2dos.x86_64 0:2.2-26.2.3.el5 util-linux.x86_64 0:2.13-0.52.el5_4.1 vim-minimal.x86_64 2:7.0.109-6.el5 vixie-cron.x86_64 4:4.1-77.el5_4.1 xorg-x11-server-Xvfb.x86_64 0:1.1.1-48.67.el5_4.1 xterm.x86_64 0:215-8.el5_4.1 ypbind.x86_64 3:1.19-12.el5 yum.noarch 0:3.2.22-20.el5.centos yum-metadata-parser.x86_64 0:1.1.2-3.el5.centos yum-security.noarch 0:1.1.16-14.el5.centos.1 Dependency Updated: fipscheck.x86_64 0:1.2.0-1.el5 Replaced: fipscheck.x86_64 0:1.0.3-1.el5 fipscheck.i386 0:1.0.3-1.el5 Complete!
Mirando de nuevo el /etc/redhat-release veremos como ha variado el banner de Red Hat Enterprise Linux por el de CentOS:
# cat /etc/redhat-release CentOS release 5.4 (Final)
Para cambiar el kernel de RHEL por el de CentOS (y de paso actualizarlo) deberemos reiniciar:
# reboot
Una vez reiniciado podemos comprobar que se ha actualizado el kernel comparando el uname con los kernels instalados en el sistema:
# rpm -qi kernel Name : kernel Relocations: (not relocatable) Version : 2.6.18 Vendor: Red Hat, Inc. Release : 53.el5 Build Date: Wed 10 Oct 2007 11:26:17 PM CEST Install Date: Tue 31 Mar 2009 11:37:18 AM CEST Build Host: hs20-bc1-7.build.redhat.com Group : System Environment/Kernel Source RPM: kernel-2.6.18-53.el5.src.rpm Size : 78955270 License: GPLv2 Signature : DSA/SHA1, Thu 11 Oct 2007 01:09:10 PM CEST, Key ID 5326810137017186 Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> Summary : The Linux kernel (the core of the Linux operating system) Description : The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. Name : kernel Relocations: (not relocatable) Version : 2.6.18 Vendor: Red Hat, Inc. Release : 128.1.6.el5 Build Date: Tue 24 Mar 2009 06:19:03 PM CET Install Date: Wed 01 Apr 2009 04:43:46 PM CEST Build Host: ls20-bc2-14.build.redhat.com Group : System Environment/Kernel Source RPM: kernel-2.6.18-128.1.6.el5.src.rpm Size : 87400590 License: GPLv2 Signature : DSA/SHA1, Tue 31 Mar 2009 08:26:53 AM CEST, Key ID 5326810137017186 Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> URL : http://www.kernel.org/ Summary : The Linux kernel (the core of the Linux operating system) Description : The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. Name : kernel Relocations: (not relocatable) Version : 2.6.18 Vendor: CentOS Release : 164.11.1.el5 Build Date: Wed 20 Jan 2010 03:17:59 PM CET Install Date: Tue 09 Mar 2010 01:20:26 PM CET Build Host: builder10.centos.org Group : System Environment/Kernel Source RPM: kernel-2.6.18-164.11.1.el5.src.rpm Size : 91109620 License: GPLv2 Signature : DSA/SHA1, Wed 20 Jan 2010 07:10:12 PM CET, Key ID a8a447dce8562897 URL : http://www.kernel.org/ Summary : The Linux kernel (the core of the Linux operating system) Description : The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc.
Como vemos el kernel de CentOS es el último, y podemos comprobar como es el que se esta usando con un uname:
# uname -r 2.6.18-164.11.1.el5
De forma similar se puede aplicar con Fedora: Por ejemplo, antes que saliera RHEL5, actualicé una RHEL4 a una FedoraCore 6 para poder disponer de virtualización con Xen. Esto fue una de esas absurdidades que el responsable de turno define “por política” que todo debe ser RHEL y usar el sistema de paquetes pero te piden disponer de aplicaciones que no están en dichos repositorios. En este caso lo compliqué un poco más para mantener el banner y algunas cosillas más de RHEL4 pero todo el resto era de Fedora.
Relacionados
Imprimir
10. March 2010 at 11:31 pm :
te has encontrado con alguna incompatibilidad al realizar este proceso?
por ejemplo, estoy pensando en el paquete de Oracle, que es bastante escrupuloso con los paquetes del sistema y el versionado.
11. March 2010 at 6:26 am :
En mi opinión si pagas una licencia Oracle lo suyo es pagar también su licencia para RHEL. Evidentemente es perfectamente posible instalar un Oracle en CentOS, puedes “engañarle” cambiando el fichero /etc/redhat-release:
Incompatibilidades no me encontrado porque en realidad CentOS no deja de ser una RHEL recompilada sin las marcas propiedad de RedHat.
15. May 2010 at 12:37 pm :
Estupendo,
Acabo de pasar una RHEL 5.5 a una Centos 5.5 y todo ha ido estupendamente. Lo unico que he tenido que modificar han sido que me requeria desinstalar los paquete rhn-setup-gnome y pirut, una vez desinstalado, se ha actualizado y todo esta ok.
Gracias por compartir la info.
2. September 2010 at 8:39 pm :
jeje… no hay prácticamente nada de diferencia,… aunque si de versión en versión rh5.4 a c5.5 el kernel tenia un problema con soporte de fiber channel pero aplicándole el modulo q solo había para rh 5.4, hasta ese momento, se soluciono…
después de 3er update tengo un problema para acceder al tape backup pero parece q es porque uso kernel centos plus… q actualizan todos los días
6. September 2010 at 7:53 am :
Con los cambios de versión puede salir algún problemilla, pero de RHEL 5.5 a CentOS 5.5 no debe aparecer ningún problema ya que los paquetes del primero recompilados sin la marca son los segundos
15. June 2011 at 10:40 pm :
Buenas tardes realice este procedimiento pero me da el siguiente error:
stunnel-4.15-2.el5.1.i386 100% |=========================| 12 kB 00:00
http://mirrors.arsc.edu/centos/5.6/os/i386/CentOS/stunnel-4.15-2.el5.1.i386.rpm: [Errno -1] Header is not complete.
Gracias de antemano.
Saludos.