Cómo actualizar RH9 a Centos 3 de forma remota (online)

Imagen de Epe

Tema: 

Bueno, hace tiempo venía preparando un artículo para actualizar RH9 a Centos 3 de forma remota (vía internet, http), pero me hacía falta un conejillo de indias para probar, al fin cayó un cliente que tenía problemas con su RH9 por lo viejo que estaba y le ayudé actualizándolo a centos pero de una forma muy fácil que describo aquí:

http://www.ernestoperez.com/staticpages/index.php?page=20050607094948845

Aquí también el artículo completo:
Actualización en línea de RedHat 9 (RH9) a centos

El otro día un cliente mío tenía un problema en una máquina que le instalé hace unos dos años si mal no recuerdo. Ésta es la parte buena de linux, sencillamente la máquina funcionó haciendo su labor de servidor de mensajería por dos años. Pero algo ocurrió con el spamassassin (versión 2.54 creo que tenía o 2.53) que llenó el disco.

Entré y ví lo viejo del software y le propuse actualizarle con un clon de RedHat para que tuviera algunos años más de actualizaciones, me dijo que ok.

Ahora, me daba pereza ir hasta donde él. Podía ir, pero tenía otras cosas que hacer, así que me dediqué a probar una forma de actualizar el RH9 a centos 3.5 pero vía internet, sin tener que estar donde el cliente ni insertar Cds

Pasos previos

Lo primero a realizar es una pequeña revisión de seguridad, para determinar que no tengamos ningún troyano ni rootkits ni nada malicioso instalado en la máquina. Esto es importante porque normalmente los rootkits alteran el filesystem, ponen muchos archivos imborrables, que aunque podemos borrarlos a la larga, esto es un impedimento grave para continuar, porque si tenemos una máquina comprometida, a la final la actualización que hagamos muy probablemente termine contaminada por el caballo de troya o rootkit que teníamos previamente.

Si al acabar la revisión de seguridad nos indican que hay troyanos o algún malicioso por ahí metido, sugiero que no se proceda con la actualización y se instale desde cero el centos, así nos quitamos ese problema.

Sugerimos que use uno o los dos de estas variantes:

www.chkrootkit.org

ó

www.rootkit.nl

una vez instalado uno de ellos los ejecutamos:

chkrootkit -q

ó

rkhunter -c

Y verificamos que no haya problemas en nuestro sistema.

De no haberlos, procedemos al siguiente paso que es preparar los paquetes del sistema actual para ser actualizados con yum

Eliminación de paquetes del sistema actual

Bien, ahora hay que eliminar todo el contenido innecesario para evitar una actualización larga y demorada. Yo por lo menos elimino todo lo que tenga que ver con estos paquetes, que contenga estos nombres:

XFree86

gnome

mozilla

devel

font

gcc

cpp

java

fam

fbset

gstreamer

esto se hace por ejemplo con la cadena de comandos:

rpm -qa|grep gnome|xargs rpm -e

Te dará algunos errores de dependencia, hay que primero eliminar esas dependencias:

rpm -e paquete1 paquete2 ... paqueteX

después repetir

rpm qa|grep gnome|xargs rpm -e

si sigue diciendo de dependencias volver a eliminar esas primero y así hasta eliminar todo gnome

proceder igual con XFree (rpm -qa|grep Xfree|xargs rpm -e), con mozilla, con los *devel*, cvs, r* (rsh, rlogin, etc) y con los font, yo también borro los gcc, cpp y demás utilerías para compilar como yacc, bison, flex, la idea es lograr una actualización rápida, después se pueden instalar estos con calma.

Igual si consideras que algún otro paquete está de más, bórralo, recuerda que la actualización será online y que mientras más tenga que actualizar, más demorará en realizarse, por lo que repetimos e insistimos que debes eliminar los paquetes que estén de más en el sistema.

Esto quitará los paquetes del ambiente gráfico pues no lo uso para los servidores, puedes intentar actualizar con estos paquetes encima (XFree, gnome, kde, fam, etc) pero no te podré ayudar si algo falta. Prefiero quitarlos pues no hacen falta en un servidor. Además ya habremos quitado todas las herramientas de desarrollo que consumen un buen espacio y nos demoraría la actualización.

reconstruir la BD de rpm:

rpm --rebuilddb

Ahora que hemos eliminado paquetes innecesarios, podemos proceder a instalar el yum y a actualizar el sistema

comencemos la actualización en sí

Instalando yum y otras opciones necesarias para comenzar

Bueno, ya hemos hecho la mayor parte, y les aseguro que sí, en las dos páginas anteriores hemos resumido el 95% del trabajo de actualización.

Habrán personas que querrán venir directamente a ésta página y comenzar la actualización sin oir, leer y analizar lo que hemos puesto en las anteriores, pero les repito a esas personas que apliquen lo que se pide en las dos secciones anteriores si no quieren fracasar miserablemente actualizando el sistema.

Ahora procedamos a hacer unos pasitos muy sencillos:

*

Instalemos la clave GPG del centos, esto nos permitirá posteriormente que el yum pueda certificar que los paquetes que bajemos están correctamente firmados por sus autores:

rpm --import http://mirror.trouble-free.net/centos/RPM-GPG-KEY-CentOS-3

Si este mirror no funciona, usen otro mirror que tenga las claves GPG de centos, todos las tienen (www.centos.org para más información sobre mirrors)

*

Bajar los rpm del centos-release y del yum, son los dos unicos paquetes que tendremos que instalar manualmente antes de proceder a la actualización.

wget http://mirror.trouble-free.net/centos/3.5/os/i386/RedHat/RPMS/centos-release-3-5.3.i386.rpm

wget http://mirror.trouble-free.net/centos/3.5/os/i386/RedHat/RPMS/yum-2.0.8-1.centos.7.noarch.rpm

Proceder a instalar ambos paquetes:

[root@mail root]# rpm -Uvh centos-release*.rpm yum*.rpm

Preparing... ########################################### [100%]

1:yum ########################################### [ 50%]

2:centos-release ########################################### [100%]

Listo, ahora procedamos a verificar las actualizacionesy a instalarlas de aceptarlas:

yum update

Los siguientes pasos se nos demorarán un poco, en dependencia del canal que tengan, este cliente tiene 64kbs y demoró unas 20 horas en total.

Hay que esperar un buen rato en lo que baja los encabezados de todos los paquetes de centos, al acabar verificará qué paquetes tenemos instalado y con cuáles los actualizará, y nos dará una lista de dependencias a instalar para que aprobemos (con y)

Si algo falla durante la ejecución del yum

hay que ver por qué falla y arreglar el problema, normalmente lo que hago es quitar el paquete que está fallando y si lo requiriera, lo instalaría después de actualizado el sistema. En este trabajo que hice, no falló nada pues al eliminar cientos de paquetes disminuí la posibilidad de interferencias o fallos entre ellos.

Bien, cuando acabe de bajar los encabezados, dirá algo así:

Al final dirá algo así:


imlib-devel-1-1.9.13-13.4 100% |=========================| 4.0 kB 00:00

elinks-0-0.4.2-7.i386.hdr 100% |=========================| 3.8 kB 00:00

.

.

.

freetype-devel-0-2.1.4-4. 100% |=========================| 7.7 kB 00:02

dejagnu-1-1.4.2-10.noarch 100% |=========================| 8.7 kB 00:05

Resolving dependencies

.Dependencies resolved

I will do the following:

[update: lockdev 1.0.1-1.2.i386]

[update: openssh-clients 3.6.1p2-33.30.4.i386]

.

.

.

[update: pam 0.75-62.i386]

[update: slang 1.4.5-18.i386]

[update: ash 0.3.8-16.i386]

[update: diffutils 2.8.1-8.i386]

[update: sendmail-cf 8.12.11-4.RHEL3.1.i386]

[update: php-imap 4.3.2-23.ent.i386]

[update: openssl 0.9.7a-33.15.i386]

[update: freetype 2.1.4-4.0.i386]

I will install/upgrade these to satisfy the dependencies:

[deps: rpm-libs 4.2.3-10.i386]

[deps: beecrypt 3.0.1-0.20030630.i386]

[deps: ethtool 1.8-3.3.i386]

[deps: bind-libs 20:9.2.4-7_EL3.i386]

[deps: laus-libs 0.1-66RHEL3.i386]

[deps: tzdata 2004e-1.EL.noarch]

Is this ok [y/N]: y

Nos está indicando que procederá a instalar esta cantidad de paquetes, que si estamos de acuerdo, si no están de acuerdo (y si no estás de acuerdo por qué llegastes hasta aquí?) presionan n y listo, no actualizan nada, sin embargo, no hemos venido tan lejos para estar en desacuerdo, ahora presionamos y y procedemos a bajar los paquetes.

Hasta este momento no ha pasado nada que no se pueda arreglar en el sistema, sencillamente ha bajado los encabezados del yum para tener una lista de paquetes a instalar, más nada. Y es más, ahora es que comienza la demora real, demorará VARIAS horas en dependencia del tipo de red que tengamos hasta bajar todos los paquetes los cuales una vez bajados serán instalados entonces.

El yum comenzará ahora a bajar cada paquete y darte tiempos estimados para que acabe de bajarlo, una vez bajado no es instalado, sino cuando todos los que tocan instalar estén abajo:


Downloading Packages

Getting lockdev-1.0.1-1.2.i386.rpm

lockdev-1.0.1-1.2.i386.rp 100% |=========================| 12 kB 00:02

Getting openssh-clients-3.6.1p2-33.30.4.i386.rpm

openssh-clients-3.6.1p2-3 2% | | 8.0 kB 01:04 ETA


A la final de las varias horas, veremos un resumen de que pudo instalar todo. Si algo fallara, proceder a resolver el conflicto, yo lo solucionaría temporalmente eliminando el paquete o paquetes conflictivos hasta lograr actualizar, una vez actualizado ahi los podría instalar de nuevo (los paquetes que puedan dar conflictos).

Al finalizar la labor de actualización dejará todito actualizado excepto el kernel, por alguna razón lo tenemos que instalar manualmente:

yum -y install kernel

Revisemos /etc/grub.conf y verifiquemos que el sistema arranca con el default kernel del centos (veremos al menos dos kernels instalados, el nuevo de Centos y el viejo de redhat 9). Grub cuenta desde 0, es decir, si el primer kernel que aparece en la lista es el de centos debemos asegurarnos que default esté en 0, para que así arranque el kernel de centos.

Ahi podemos proceder a reiniciar y esperemos que todo les vaya bien.

Yo reinicié remotamente el sistema y me trabajó muy bien, es más, antes de reiniciar me aseguré que los servicios fundamentales corrieran: service squid restart; service httpd restart; service sendmail restart; etc, etc

Si desea que le ayudemos a actualizar remotamente un sistema por favor contáctenos para ayudarle. Es una labor bien pesada que algunas personas requieren pero no tienen la experiencia ni el tiempo para hacerlo, nosotros le podemos ayudar claramente.

Conclusiones:
1. Es factible, totalmente fácil de actualizar de redhat 9 a un clon de redhat enterprise linux (Centos 3 en este caso).
2. Toma un tiempo el plaanificar la actualización, eliminar paquetes innecesarios y aunque parezca una pérdida de tiempo es el corazón de la actualización.
3. Deben analizarse cuestiones bien importantes si usted tiene paquetes adicionales a redhat como es oracle, informix, tomcat, algún panel de control como cpanel, ensim, etc, pues estos pueden requerir de trabajo adicional para realizar la actualización. Todos deben trabajar para Centos, pero los binarios seguro han variado, por lo que sugiero más bien desinstalar cualquier aplicación que no sea nativa de redhat y posterior a la actualización proceder a reinstalarla para redhat enterprise (centos es un clon y todo lo de redhat enterprise trabaja en él).

------------------
Definitivamente ahora me parece fácil luego que lo hice, y en realidad lo es, pero sugiero se lea bien el artículo y se analice y planifique todo lo que se tiene que hacer antes de proceder, que aunque es fácil es una operación de cuidado.

Comentarios

Problemas con rpm

hola tengo un problema cuando ejecuto esto siguiendo tus pasos

root]# rpm -Uvh centos-release-3-6.1.i386.rpm yum-2.0.8-1.centos.7.noarch.rpm
error: Failed dependencies:
rpm >= 0:4.1.1 is needed by yum-2.0.8-1.centos.7

estaba siguiendo todos tus pasos en otro servidor estaba realizando lo mismo y no me dio problemas... me puedes ayudar q tengo q hacer tengo q actualizar algo y de donde yo soy principiante en este tema me pueden ayudar con este tema tengo q actualizar este servidor pq esta con fallas en el squid y todo el mundo tiene acceso libre a internet gracias

Wal

--

Walter

tienes un linux rh9 un

Imagen de Epe

tienes un linux rh9 un poquito viejo que no tiene la versión más moderna del rpm supongo.

en este sitio están todos los rpm de rh9, baja el rpm versión 4.2 que ahi ves:
http://download.fedoralegacy.org/redhat/9/os/i386/

se llama: rpm-4.2-0.69.i386.rpm
así ya tendrásun rpm más moderno que sí soporta al yu
saludos
epe
--
EcuaLinux.com
(02)3412402 - (09)9246504

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

error

me sale este error cuando trato de instalarlo
root]# rpm -i rpm-4.2-0.69.i386.rpm
warning: rpm-4.2-0.69.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
error: Failed dependencies:
libc.so.6(GLIBC_2.3.2) is needed by rpm-4.2-0.69
popt = 1.8 is needed by rpm-4.2-0.69
[root@telerama root]#

podrias ayudarme quiero dejar haciendo la actualizacion en este feriado para que asi nadie tenga problemas de conexion y la descargada sea mas rapida

gracias por tu tiempo

saludos wal

--

Walter

tendrás que actualizar las

Imagen de Epe

tendrás que actualizar las glib también walter( mira un poco más arriba en la lista y verás un rpm para ellas).

En general me parece uqe es un rh9 sin una sola actualización, lee en fedoralegacy.org par aque aprendas a actualizarlo con el yum que ellos te brindan.. y entonces al terminar de actualizarlo procede a upgradearlo porque tiene un software un poquito viejo.

saludos
epe
--
EcuaLinux.com
Ecuador: (02)3412402 - (09)9246504
USA: + 1 404 795 0321

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

si se pudo

hola epe, ya actualice uno de los 3 servidores que tengo que actualizar y tendria que decirte que no se descargan de nuevo la lista de actualizaciones sino continuan donde se quedo a mi me tomo 3 dias de descargas ya que parece q no elimine todo el contenido innecesario (page mi novatada) y tambien porque mi ancho de banda no es tan bueno, pero en fin esta funcionando de a pelos gracias cuando tenga otra inquietud en uno de los otros servidores te molesto

saludos walter

--

Walter