jueves, 2 de junio de 2011

Actualizando RedHat 5 sin acceso a internet (offline)

Que ondas!, como siempre hace meses que no escribo nada, he estado ocupado con la escuela y con el jale y no he tenido mucho tiempo, pero ahora de vacaciones tengo algo de chance para escribir. Resulta que en el jale me pidieron que propusiera configurara y levantara una solución para crear backups de las compus de producción, he estdo leyendo sobre que software instalar, me pidieron que el server fuera un linux de preferencia y como en el jale utilizan Red Hat pues he estado en eso, pero me tope con un problemilla al instalar el Red Hat, como actualizo el server si este no tiene acceso a internet? =S


Hace unos días publicaron en Hacker News un link sobre como asegurar tu servidor en linux  este archivo (en pdf) fue escrito por la NSA (National Security Agency de los Estados Unidos) me cayó como de perlas pues apenas me disponia a instalar el server y resulto que la guía aunque puede ser usada en cualquier distro de linux esta basada en Red Hat Enterprise Edition que es lo que usamos, asi que me dispuse a leerla.

De las cosas que recomienda la NSA es mantener tu servidor actualizado con los últimos parches de seguridad, por lo cual te recomiendan registres tu server para que reciba actualizaciones automáticas, sin embargo que hacemos si el server no tiene internet?. Este server no tiene acceso al exterior por cuestiones de seguridad y esta bien puesto que no es realmente necesario, sin embargo tuve que encontrar alguna manera de actualizar el server una vez instalado.

La manera mas sencilla que encontre fue descargar la versión mas nueva del sistema operativo (RedHat 5.6) luego crear un nuevo repositorio dentro del sistema para que lo encuentre yum (yum es el instalador de paquetes en redhat digamos que es el apt-get de redhat). Una vez que tenemos creado nuestro repositorio corremos:

root@localhost#: yum update
Si todo va bien yum encuentra el repositorio lee los paquetes y actualiza según sea necesario. Ahora casi toda la información que encontre en internet decian que para crear un repositorio en redhat era necesario el programa createrepo pero mi redhat no lo tenía instalado y sin internet no tenía como instalarlo, así que leyendo la documentación de yum (man yum ;P ) me di cuenta que los repositorio se graban en el path:

/etc/yum.repos.d/

Sabiendo esto, me cambie hacia ese directorio y le hice un cat a los archivos que estaban ahy. Ya deentro pued ver que estos son simplemente archivos de texto que indican la configuración del repositorio, algo así como el archivo de sources de apt en debian, así que siguiendo uno de ejemplo creé unrepositorio nuevo a mano, les dejo el código que use.


[myCdUpdateRepository]
name=This repository is for updating from the Cd
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=0
(Nota: Es importante que el archivo tenga como extensión el .repo o de lo contrario yum lo ignorará)
  • El primer argumento es el nombre con que el sistema identifica nuestro repositorio.
  • El argumento name es para referencia de otros usuarios, escribamos una breve descripción del repositorio.
  • El argumento baseurl apunta hacia nuestro directorio de archivos, en nuestro caso los rpms, dentro del DVD se encuentran en el directorio Server del DVD.
  • El argumento enabled indica si el repositorio esta habilitado para ser usado al intentar la actualización.
  • El último argumento gpgcheck no lo usaremos asi que lo dejamos en 0 aquí le decimos donde esta nuestra llave en caso de que queramos ver que los paquetes provienen de una fuente fiable.

Lo grabe como cdRepo.repo corrí como root yum update:

root@localhost#: yum update

Yum se puso a trabajar y despues de hacer reboot my Red Hat ya era 5.6 =) ojala les sirva!

1 comentario:

Deja tu comentario aquí, cuenta que te parecio el artículo o simplemente saluda!