Instalacin masiva de GNU/Linux usando Anaconda/Kickstart
Edwind Richzendy Contreras Soto richzendy@[Link] [Link] [Link]
Mtodos de instalacin desasistida
FAI ( Debian/Ubuntu )
[Link]
Autoyast ( suse/opensuse )
[Link]
Kickstart ( RedHat/Fedora/Ubuntu )
[Link]
[Link]
Que es kickstart?
Kickstart es un mtodo que consiste en un archivo de texto que contesta automticamente todas las preguntas que se realizan al momento de realizar una instalacin, permitiendo automatizar este proceso, este mtodo puede permitir instalar numerosas mquinas simultneamente. Su implementacin se encuentra estrechamente ligada al uso del instalador Anaconda y ambos estn realizados en en el lenguaje de programacin python.
3
Distribuciones usando Kickstart
Fedora RedHat Enterprise Linux Rpath linux Progeny Componentized Linux, basado en Debian Vida Linux, Variante de Gentoo Sabayon Linux Aurox Asianux Blag GNU/Linux ASPLinux Ubuntu ( Compatibilidad disponible desde hoary )
4
Secciones del Archivo Kickstart
La seccin de comandos
Configuracin del sistema Declaracin de paquetes o programas Comandos a ejecutar antes de la instalacin Comandos a ejecutar luego de la instalacin
5
%packages
%pre
%post
Ejemplo de la seccin comandos
# plataforma=AMD64 o Intel EM64T # Informacin de autenticacin del sistema auth --useshadow --enablemd5 --enableldap --enableldapauth --ldapserver=[Link] --ldapbasedn=ou=People,dc=serviciosenlinea,dc=com,dc=ve # Use instalacin en modo texto text # Configuracin del Firewall firewall --disabled # Deshabilitar herramienta de post-configuracin de anaconda firstboot --disable # Configuracin del teclado keyboard la-latin1 # Configuracin del lenguaje lang es_VE # Password de Root rootpw --iscrypted $1$[Link]$1bv3bpJmie9ACCtYcqvc2. # Configuracin de SELinux selinux --disabled # Instalar o actualizar el sistema install # Use CDROM como medio de instalacin cdrom # Red network --bootproto static --ip [Link] --netmask [Link] --gateway [Link] --nameserver [Link] # Reiniciar luego de la instalacin reboot --eject # Zona horaria timezone --isUtc America/Caracas # Informacin del sistema grfico X xconfig --driver=intel --defaultdesktop=GNOME --depth=24 --resolution=1024x768 --videoram=256 # Configuracin del gestor de arranque bootloader --append="vga=791" --location=mbr # Borrar todas las particiones anteriormente creadas clearpart --all --drives=sda # Informacin del particionamiento de discos part /boot --fstype="ext3" --ondisk=sda --size=100 --bytes-per-inode=4096 part pv.4 --grow --ondisk=sda --size=1 --bytes-per-inode=4096 volgroup VolGroup00 --pesize=32768 pv.4 logvol swap --fstype="swap" --grow --maxsize=992 --size=496 --name=LogVol01 --vgname=VolGroup00 --bytes-per-inode=4096 logvol / --fstype="ext3" --grow --size=9000 --name=LogVol00 --vgname=VolGroup00 --bytes-per-inode=4096
Seccin de Comandos
auth
Opciones de autenticacin Opciones del gestor de arranque Tipo de teclado, por ejemplo: la-latin1 Esquema de particionamiento de discos
7
bootloader
keyboard
part
Seccin de Comandos ( cont )
rootpw iscrypted
Crea un password encriptado, para root usando grub-md5-crypt
timezone
Zona horaria del computador, --utc o especifique tz
lang
Lenguaje del sistema y de la instalacin, por ejemplo: es_VE
clearpart
Remueve todas las particiones existentes ( cuidado )
network
Configuracin de la red
Seccin de Comandos ( cont )
driverdisk
Agregue drivers/mdulos adicionales
firewall
--enabled o disabled, reglas adicionales pueden ser especificadas
install
Hacer una instalacin, no una actualizacin, especificar fuente de la instalacin
Repo
Agregar repositorios adicionales, para otros paquetes
9
Seccin de Comandos ( cont )
selinux
--disabled | --enforcing | --permissive
reboot
Reiniciar luego de la instalacin | --eject expulsa la unidad de cd/dvd antes de reiniciar.
skipx
No configurar entorno grfico
text
Instalacin en modo texto
10
Seccin %packages
La seccin %packages es usada para la declaracin de los paquetes rpm a instalar, permite la declaracin por medio de grupo de paquetes, declaracin individual de cada uno de ellos, remocin 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 instalacin. amsn - agrega el paquete amsn de la instalacin.
11
Seccin %pre
--interpreter para cambiar del bash por defecto
/bin/bash para usar bash /usr/bin/perl para usar perl /usr/bin/python para usar python
Esta seccin puede ser usada para preconfigurar algunos aspectos extras antes de empezar la instalacin, como:
Crear configuraciones extras de red. Particionar discos extras. Buscar configuraciones extras a travs de la red. Lo que puedas llegara necesitar.
12
Seccin %post
--chroot
Permite crear un entorno enjaulado, el cual permite modificar el sistema ya instalado en vez de la imagen de instalacin.
--interpreter
/bin/bash, /usr/bin/perl, /usr/bin/python ( similar a la opcin en la seccin %pre).
Puedes usar varias secciones %post, en caso que necesites entornos chroot y nochroot
Esta seccin es usada para personalizar cualquier elemento no provisto por kickstart, luego de la instalacin.
13
Ejemplo de seccin %post
%post # Para habilitar una consola sh #chvt 3 #exec < /dev/tty3 > /dev/tty3 #sh # Deshabilitar servicios chkconfig yum-updatesd off chkconfig fistboot off # Agregar opcin a configuracin de gdm echo "session required pam_mkhomedir.so skel=/etc/skel/ umask=0022" >> /etc/pam.d/gdm
# Agregar pre-configuracin de programa para todos los usuarios cat << EOF > /etc/skel/.x3270connect 1187060239 [Link] EOF # Agregar cron para el usuario root echo "*/10 * * * * /sbin/profilesync" >> /var/spool/cron/root chmod 600 /var/spool/cron/root # Reiniciar demonio crond /etc/init.d/crond restart
14
Cargar Kickstart en el boot
NFS
ks=nfs:direccin_ip:/path/a/[Link]
Disco Local
ks={hdx,sdax}:/[Link] (debe ser vfat o ext2)
Floppy / CDROM
ks={floppy,cdrom}:/[Link]
# use floppy o cdrom
HTTP / FTP
ks={http,ftp}://[Link]/path/a/[Link] # use http o ftp
Embebido en el initrd
ks=file:/[Link]
15
Herramientas para facilitar la vida:
Crobbler
Permite crear un servidor completo de instalacin englobando servicios como PXE, ftp, DHCP, http y a su vez permite usar kickstart para personalizar las instalaciones ( tiene un desarrollo muy activo ). [Link]
Revisor
Herramienta que permite crear live-cds y cd/DVD de instalacin de forma totalmente grfica, permite el uso e inclusin de archivos kickstart para personalizar/automatizar la instalacin. [Link]
mRepo
Permite crear y manejar tus repositorios de instalacin y actualizacin. [Link]
16
Herramientas kickstart ( Cont )
System-config-kickstart
Asistente gafico para realizar archivos kickstart ( recomendado )
Kickweb
Asistente web para realizar archivos kickstart ( descontinuado ) [Link]
Ksvalidator
Script para validar y verificar tu archivo kickstart, parte del paquete pykickstart
System Imager
Permite clonar instalaciones ya realizadas.
[Link]
17
Recursos kickstart
Lista de correo ( ingles )
[Link]
Documentacin oficial redhat
[Link]
Libro O'Really
[Link]
Documentacin oficial Fedora
[Link]
System-config-kickstart
[Link]
18
Preguntas?
19
Fin!!!
Muchas gracias por su asistencia.
20