viernes, 9 de mayo de 2008

Anaconda y Kickstart

Contenidos

1. Ajustando la sección %packages

Cuando usamos %packages para definir el conjunto de paquetes que deberían ser instalados, existe un número de opciones más o menos documentadas que pueden ser fijadas:

--resolvedeps

Las dependencias entre los paquetes serán automáticamente resueltas.

--excludedocs

Salta la instalación de los ficheros que están marcados como documentación (todos los ficheros que están listados cuando hacemos rpm -qld )

--nobase

Salta la instalación de @Base. Esto no trabajará a menos que usted conozca lo que está haciendo, pues se omiten paquetes que son necesarios para los scripts después de la instalación.

--ignoredeps

Ignora completamente las dependencias. Cada paquete que no sea explícitamente mencionado será ignorado.

--ignoremissing

Ignora los paquetes y grupos no encontrados en vez de preguntar que hacer. Un ejemplo de una instalación mínima de CentOS 4.4:

%packages --resolvedeps --excludedocs --nobase
kudzu

Observe que los paquetes esenciales serán omitidos. No existirá rpm, ni yum, ni vim, ni dhcp-client y ni las disponibilidades de teclado. Kudzu es necesario porque el instalador falla si este se omite.

2. Particionando

Si usted comienza con un disco sin particionar o con una máquina virtual sobre una imágen sin particionar, use el parámetro --initlabel de clearpart para asegurarse que disklabel sea inicializado o Anaconda le pedirá confirmación interactivamente. Por ejemplo, para limpiar todas las particiones xvda e inicializar el disklabel, si no ha salido aun, puede usar:

clearpart --all --initlabel --drives=xvda

3. Corriendo Anaconda en modo de texto verdadero

Probablemente ya conoce que en vez de correr Anaconda en una interfaces X11, usted puede hacerla correr con una interface ncurses adicionando la línea text en su fichero kickstart. Pero existe otra opción: instalar en un modo de texto verdadero, al estilo del shell. Reemplace la línea text con una línea cmdline en su fichero kickstart y Anaconda hará la instalación completa en modo de texto. Esto puede ahorrarle horas de debugging, especialmente cuando usted use %packages –-nobase o ejecute complejos scripts %post, debido a que usted podrá actualmente ver la salida de todos los scripts que se ejecutan durante la instalación.

4. Habilitar/deshabilitar primer arranque

Todos conocen el primer arranque, la pantalla que nos ayuda a configurar el sistema la primera vez después de la instalación. Este puede ser habilitado o deshabilitado adicionando firstboot --enable o firstboot --disable en la sección de comandos de nuestro fichero kickstart.

5. ¿ Qué muestran las diferentes terminales ?

Alt+F1 - El diálogo de instalación cuando usamos el modo de texto o cmdline.
Alt+F2 - Un prompt del shell.
Alt+F3 - El log de la instalación mostrando los mensajes de los programas de la instalación.
Alt+F4 - Los logs del sistema mostrando mensajes del kernel, etc.
Alt+F5 - Todos los otros mensajes.
Alt+F7 - El diálogo de instalación cuando usamos el instalador gráfico.

6. Logging %pre y %post

Cuando usamos los scripts %pre o %post podemos registrar la salida en un fichero usando –log=/camino/al/fichero

%post --log=/root/my-post-log
echo 'Hello, World!'

Otra forma de registro y muestreo de los resultados en la pantalla podría ser la siguente:

%post
exec < /dev/tty3 > /dev/tty3
chvt 3
echo
echo "################################"
echo "# Running Post Configuration #"
echo "################################"
(
echo 'Hello, World!'
) 2>&1 /usr/bin/tee /var/log/post_install.log
chvt 1

7. Interfaces de confianza para la configuración del cortafuegos

Para la opción del cortafuegos, usted puede utilizar la opción --trust múltiples veces para confiar en múltiples interfaces.

# Enable firewall, open port for ssh and make eth1 and eth2 trusted
firewall --enable --ssh --trust=eth1 --trust=eth2

8. Uso de una interfaz específica para kickstart

Cuando su sistema tiene más de una interfaz de red, Anaconda le pregunta cuál de las existentes usted seleccionará para el proceso de instalación kickstart. Esta decisión puede ser tomada a la hora del arranque, adicionando el parámetro ksdevice y ajustándolo debidamente. Para correr kickstart a través de la interfaz eth0, simplemente adicione ksdevice=eth0 en la línea de comando del kernel.

No hay comentarios: