Instalar CentOS remotamente por VNC

Una de las cosas que me gusta de las distribuciones basadas en Red Hat es que todas ellas utilizan el instalador Anaconda junto a los ficheros Kickstart para realizar instalaciones desatendidas. Hasta ahora es uno de los sistemas mas flexibles y potentes que conozco para automatizar instalaciones Linux.

Debian Installer quizás pueda ser mas potente en determinados escenarios, aunque en general elaborar un buen fichero preseed para una instalación desatendida de Debian pueda ser algo mas laborioso… Anaconda, destaca además por ser muy sencillo.

Pero hoy el protagonista es Anaconda y su módulo de instalación remota por VNC.. ya hablaremos en otro momento del resto de instaladores ;-)

¿Cuando nos puede interesar instalar remotamente Linux por VNC?

– El servidor a instalar no tiene pantalla, teclado, ratón, unidad de CD/DVD, puerto USB.. una instalación por VNC será mas cómoda, rápida y económica que utilizar un dispositivo KVM sobre IP, puerto serie, etc..

– Instalación de otra distribución. Muchos ISP entregan los servidores dedicados con una determinada distribución Linux sin posibilidad de elegir otra y/o personalizar algunos parámetros que solo se pueden hacer durante la instalación, por ejemplo, el esquema de particiones.

Actualizaciones. Todas las distribuciones basadas en Red Hat se recomienda actualizarlas desde Anaconda utilizando el método upgradeany. Por ejemplo, podemos arrancar por VNC para actualizar remotamente desde CentOS 4 a CentOS 5 de forma cómoda sin necesidad de CDs, arranque por PXE, etc..

– Seguimiento y depuración de una instalación desatendida con Kickstart, así podremos ver «en vivo» que está ocurriendo en todo momento por VNC.

– El sistema VNC es multiplataforma: existen implementaciones para prácticamente todos los Sistemas Operativos, incluso clientes en Java que podríamos incrustar en algún herramienta de gestión web tipo Spacewalk.

Lógicamente en todos estos casos podríamos utilizar Kickstart para realizar una instalación totalmente desatendida sin necesidad de interactuar en ningún momento por teclado/ratón/pantalla y todos los problemas anteriores quedarían resueltos, pero el objetivo es tener una conexión VNC con el servidor que estamos instalando.

La conexión remota por VNC con el instalador Anaconda puede realizarse de dos formas:

Servidor: la máquina a instalar arranca un servidor Xvnc y nosotros nos conectamos a el utilizando un cliente VNC, es la configuración mas utilizada (parámetros vnc y vncpassword).

Cliente: en nuestro escritorio levantamos un cliente VNC en modo «listen» y Anaconda se conectará a nosotros (parámetros vnc y vncconnect). En algunos casos puede ser una configuración mas segura, pero resulta mas problemática si estamos bajo un firewall, NAT, etc..

Como ejemplo vamos a modificar el GRUB de una Debian para instalar remotamente CentOS 5 por VNC, los pasos a seguir son:

– Descargar los ficheros initrd.img y vmlinuz de la imagen PXE de CentOS (pxeboot) en el directorio /boot/centos, o en cualquier otro directorio, evitando sobreescribir los actuales:

  1. mkdir -p /boot/centos ; cd /boot/centos
  2. wget http://mirror.centos.org/centos-5/5/os/i386/images/pxeboot/initrd.img
  3. wget http://mirror.centos.org/centos-5/5/os/i386/images/pxeboot/vmlinuz

– Editar la configuración de GRUB, fichero /boot/grub/menu.lst, y añadir la siguiente entrada. Lógicamente será necesario personalizar la configuración de red o bien utilizar DHCP (parámetro ip=dhcp):

  1. title Instalación CentOS 5 por VNC
  2. root (hd0,0)
  3. kernel /centos/vmlinuz vnc vncpassword=password ip=192.168.0.2 netmask=255.255.255.0 gateway=192.168.0.1 dns=192.168.0.1 method=http://mirror.centos.org/centos/5/os/i386
  4. lang=en_US keymap=us ksdevice=eth0
  5. initrd /centos/initrd.img

– Comprobamos que la entrada default de GRUB es la correcta, y reiniciamos el servidor.

– En el siguiente arranque GRUB cargará el kernel + initrd con los parámetros indicados, iniciando así la instalación con Anaconda.

– Anaconda descarga la imagen stage2.img desde el mirror indicado. Este archivo está comprimido con SquashFS y contiene todo lo necesario para arrancar el instalador gráfico, ocupa unos 90MB así que dependiendo de la conexión este paso puede durar unos minutos..

– Anaconda arranca el servidor Xvnc e inicia una instancia del gestor de ventanas mini-wm, en la consola del servidor aparecerá el mensaje:

  1. Starting VNC..
  2. The VNC server is now running.
  3. Please connect to 192.168.0.2:1 to begin the install...
  4. Press for a shell
  5. Starting graphical installation..
  6. XKB extension not present on :1

– Listo!! Utilizando un cliente VNC nos conectamos al display 1, puerto 5901/tcp, para empezar a instalar el servidor normalmente, como si estaríamos delante de el

Instalar Freeswitch en Centos 5.2

En este articulo veremos como instalar Freeswitch en Centos 5.2 Podemos descargar las ultimas fuentes disponibles con el programa subversión o descargar el paquete comprimido de la versión 1.0.1 (la ultima disponible a la fecha).
Para la primera opción tenemos que tener instalada la utilidad subversión.

yum install subversion

luego posicionarnos en la carpeta src

cd /usr/src

y digitar el comando:

svn checkout http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch

Para descargar el paquete comprimido de las fuentes:

wget http://files.freeswitch.org/freeswitch-1.0.1.tar.gz

lo descomprimimos

tar -xf freeswitch-1.0.1.tar.gz

Seguimos con la instalación de algunos programas necesarios para la compilación de freeswitch.

yum install make autoconf automake

yum install libtool-ltdl libtool-ltdl-devel libtool

yum install ncurses ncurses-devel gcc gcc-c++

yum install libxml2 libxml2-devel libtiff libtiff-devel

Continuar leyendo «Instalar Freeswitch en Centos 5.2»

Implementado servidor DNS con BIND en CentOS 5

Bueno, la implementación que haré aquí va ser básica, como para que uno se familiarice con los archivos de configuración y pueda ver ipso facto lo que ha realizado, ten en cuenta que con BIND se puedes hacer complejas configuraciones, pero como escribí antes esto es básico.

Instalando paquetes necesarios
Los paquetes que se necesitan para instalar BIND son:

  • bind
  • bind-utils
  • bind-libs
  • bind-chroot
  • caching-nameserver

Los instalamos con nuestro manejador de paquetes:

# yum install bind bind-utils bind-libs bind-chroot caching-nameserver

Continuar leyendo «Implementado servidor DNS con BIND en CentOS 5»

Yum bloqueado: Reconstruir la base de datos RPM

Durante una actualización de paquetes RPM con Yum, he visto que en un determinado momento Yum se habia bloqueado. Despues de matar los procesos de yum, python y demas, he visto que no arreglaria nada por esa via, por lo cual he decidido reconstruir la base de datos RPM.

PASO 1: Copia de seguridad de la base de datos actual

tar cvzf /root/backup-rpm.tar.gz2 /var/lib/rpm

PASO 2: Borrar la DB actual

rm -f /var/lib/rpm/__db*

PASO3: Reconstruir la DB

rpm –rebuilddb

PASO 4: Instalamos el paquete yum-utils, el cual contiene package-cleanup

# yum install yum-utils

PASO 5: Comprobamos si hay algun paquete medio instalado

# package-clean -d

PASO 6: Borramos los metadatos y la cache

# yum clean all