Instalación masiva de GNU/Linux usando Anaconda/Kickstart
Edwind Richzendy Contreras Soto
Métodos de instalación desasistida
Cada distribución de las "grandes" tienen un método de instalación desasistido, si la tuya no está nombrada acá puedes intentar consultar en algún buscador.
Que es kickstart?
Kickstart no es un programa, es una funcionalidad del programa Anaconda y consiste en un archivo de texto que contesta automáticamente todas las preguntas que se realizan al momento de realizar una instalación, permitiendo automatizar este proceso.
Este método puede permitir instalar numerosas máquinas simultáneamente. Su implementación se encuentra estrechamente ligada al uso del instalador Anaconda y está realizado en en el lenguaje de programación python.
Distribuciones usando Kickstart
- Fedora
- RedHat Enterprise Linux
- Rpath linux
- Progeny Componentized Linux, basado en Debian
- Vida Linux, Variante de Gentoo
- Sabayon Linux
- Aurox
- Ubuntu ( Compatibilidad disponible desde hoary )
- Asianux
- Blag GNU/Linux
- ASPLinux
Secciones del Archivo Kickstart
- La sección de comandos
- Configuración del sistema
- %packages
- Declaración de paquetes o programas
- %pre
- Comandos a ejecutar antes de la instalación
- %post
- Comandos a ejecutar luego de la instalación
Ejemplo de la sección comandos
Sección de Comandos
- auth
- Opciones de autenticación
- bootloader
- Opciones del gestor de arranque
- keyboard
- Tipo de teclado, por ejemplo: la-latin1
- part
- Esquema de particionamiento de discos
- rootpw –iscrypted
- Crea un password encriptado, para root usando grub-md5-crypt
Sección de Comandos (Cont.)
- timezone
- Zona horaria del computador, --utc o especifique tz
- lang
- Lenguaje del sistema y de la instalación, por ejemplo: es_VE
- clearpart
- Remueve todas las particiones existentes ( sea cuidadoso )
- network
- driverdisk
- Agregue drivers/módulos adicionales
Sección de Comandos (Cont.)
- firewall
- --enabled o –disabled, reglas adicionales pueden ser especificadas
- install
- Hacer una instalación, no una actualización, especificar fuente de la instalación
- repo
- Agregar repositorios adicionales, para otros paquetes
- selinux
- --disabled | --enforcing | --permissive
Sección de Comandos (Cont.)
- reboot
- Reiniciar luego de la instalación | --eject expulsa la unidad de cd/dvd antes de reiniciar.
- skipx
- No configurar entorno gráfico
- text
- Instalación en modo texto
Sección %packages
La sección %packages es usada para la declaración de los paquetes rpm a instalar, permite la declaración por medio de grupo de paquetes, declaración individual de cada uno de ellos, remoción individual de cada uno de ellos y mezcla de todas las opciones, por ejemplo:
- Default - instala todos los paquetes Base del sistema.
- @gnome - instala todo el escritorio gnome.
- -pidgin - saca el paquete pidgin de la instalación.
- amsn - agrega el paquete amsn de la instalación.
Sección %pre
- --interpreter para cambiar del bash por defecto
- /usr/bin/perl para usar perl
- /usr/bin/python para usar python
La sección %packages es usada para la declaración de los paquetes rpm a instalar, permite la declaración por medio de grupo de paquetes, declaración individual de cada uno de ellos, remoción individual de cada uno de ellos y mezcla de todas las opciones, por ejemplo:
- Crear configuraciones extras de red.
- Particionar discos extras.
- Buscar configuraciones extras a través de la red.
- Lo que puedas llegara necesitar.
Sección %post
- --chroot
- Permite crear un entorno enjaulado, el cual permite modificar el sistema “ya instalado” en vez de la imagen de instalación.
- --interpreter
- /bin/bash, /usr/bin/perl, /usr/bin/python ( similar a la opción en la sección %pre).
- Puedes usar varias secciones %post, en caso que necesites entornos chroot y nochroot
- Esta sección es usada para personalizar cualquier elemento no provisto por kickstart, luego de la instalación.
Ejemplo de Sección %post
Cargar Kickstart en el boot
- NFS
- ks=nfs:dirección_ip:/path/a/ks.cfg
- Disco Local
- ks={hdx,sdax}:/ks.cfg (debe ser vfat o ext2)
- Floppy / CDROM
- ks={floppy,cdrom}:/ks.cfg # use floppy o cdrom
- HTTP / FTP
- ks={http,ftp}://tu.servidor.com/path/a/ks.cfg # use http o ftp
- Embebido en el medio de instalación
Herramientas para facilitar la vida
- Crobbler
- Permite crear un servidor completo de instalación englobando servicios como PXE, ftp, DHCP, http y a su vez permite usar kickstart para personalizar las instalaciones ( ver Spacewalk ).
- Revisor
- Herramienta que permite crear live-cds y cd/DVD de instalación de forma totalmente gráfica, permite el uso e inclusión de archivos kickstart para personalizar/automatizar la instalación.
- mRepo
- Permite crear y manejar tus repositorios de instalación y actualización.
Herramientas kickstart ( Cont )
- system-config-kickstart
- Asistente gŕafico para realizar archivos kickstart
- yum install system-config-kickstart
- kickweb
- Asistente web para realizar archivos kickstart ( descontinuado )
- ksvalidator
- Script para validar y verificar tu archivo kickstart, parte del paquete pykickstart.
- clonezilla
- livecd que permite clonar una instalación ya realizada.
Recursos Kickstart
- Lista de correo ( ingles )
- Documentación oficial redhat
- Libro O'Really
- Documentación oficial Fedora
- system-config-kickstart
FIN!
Muchas gracias por su asistencia y su tiempo.