Kickstart Imprimeix
SOFTWARE - General
dijous, 8 de novembre de 2007 13:09
There are no translations available.

Conoce esta poderosa herramienta que nos permite realizar instalaciones desatendidas de distribuciones Linux basadas en Red Hat...

Kickstart

Kickstart es una poderosa herramienta que nos permite realizar instalaciones desatendidas de distribuciones Linux basadas en Red Hat. Mediante Kickstart podremos automatizar el proceso de configuración al instalar nuestro sistema operativo, puesto que, a partir de una base, indicaremos todos los valores y parámetros específicos de la instalación para los que sería necesaria la interacción del usuario.
Genéricamente las opciones de instalación a configurar serían las siguientes:

- Idioma.
- Configuración del ratón.
- Configuración del teclado.
- Estructura de particiones del disco duro.
- Configuración de Red.
- Autentificación en entornos NIS, LDAP, Kerberos, Hesiod, y Samba.
- Configuración del Cortafuegos.
- Selección de paquetes.
- Configuración del sistema X Window.
Esta aplicación se fundamenta en la creación de un archivo Kickstart al que llamaremos ks.cfg, el cual contiene las opciones de instalación deseadas que en un proceso de instalación normal son resueltas mediante la interacción del usuario.
Al iniciar el proceso de instalación desde nuestro instalador (DVD, CD, Disco duro, disquete…) le indicaremos que se trata de una instalación Kickstart, el sistema irá leyendo las opciones de idioma, teclado, configuración de red... de nuestro archivo Kickstart línea a línea, realizándose por tanto la instalación automáticamente.
Esta herramienta aún siendo propia de distribuciones Red Hat es posible utilizarla en otras distribuciones como Ubuntu con algunas limitaciones. Para otras distribuciones si bien no podemos usar Kickstart existen herramientas equivalentes, como es el caso de AutoYaST en Suse o FAI para Debian.

VENTAJAS DEL USO DE KICKSTART.

- Automatiza el proceso de instalación.
- Mejora y ajusta la personalización de la instalación al permitir el uso de scripts y comandos post instalación.
- Agiliza el proceso de instalación.

PROCESO DE INSTALACIÓN CON KICKSTART.

El proceso de instalación se resume pues en los siguientes pasos:

1) Creación del archivo de configuración Kickstart.

2) Ubicación del archivo ks.cfg en el medio o dispositivo de origen para ser leído por el proceso de instalación.

3) Arranque del proceso de instalación, detallando la ubicación del archivo de configuración Kickstart.

 Vamos a ver con detalle cada uno de estos pasos:

1) CREACIÓN DEL ARCHIVO DE CONFIGURACIÓN KICKSTART

El archivo de configuración Kickstart es notado como ks.cfg. Se trata de un archivo de configuración de texto en el tendremos descritas todas las opciones de instalación, opciones que serán leídas línea a línea e interpretadas por el sistema al realizarse la instalación. Este archivo puede ser creado desde cero o bien podemos editar archivos ks.cfg que nos vienen de serie con la distribución o se generan al realizar una instalación normal. Más adelante veremos con detalle como obtener nuestro ks.cfg.

2)UBICACIÓN DEL ARCHIVO KS.CFG EN EL MEDIO O DISPOSITIVO DE ORIGEN PARA SER LEÍDO POR EL PROCESO DE INSTALACIÓN.
Para ello copiaremos nuestro ks.cfg en el medio desde el cual será leído por el proceso de instalación: disquete, CD, DVD, disco duro, servidor NFS o servidor HTTP.

3) Arranque del proceso de instalación con Kickstart.

Una vez ubicado nuestro ks.cfg en el medio deseado es necesario indicarle al proceso de instalación dónde tiene que leer el archivo en cuestión.
Para ello primero arrancamos desde el medio pertinente la instalación de nuestra distribución y nos situamos en el indicador de comandos boot de éste. En función del medio de origen de donde queremos que el sistema tenga acceso a nuestra configuración Kickstart teclearemos:

- Disquete.

linux ks=floppy

- Cdrom.

ks=cdrom:/ks.cfg
ks=cdrom:/micarpeta/ks.cfg
Aquí el programa buscaría el archivo de configuración Kickstart en la carpeta "micarpeta" dentro de nuestro CD.

- Disco duro.

ks=hd:<dispositivo>/ks.cfg.
El programa buscaría el archivo de configuración Kickstart en la ruta dentro del dispositivo especificado. Notar que para poder acceder al archivo el programa debe montar el sistema de archivos que necesariamente tiene que ser vfat o ext2.
ks=hd:sda2/home/usuario/ks.cfg

- Servidor NFS.

ks=nfs:<servidor>:/ks.cfg
El programa buscaría el archivo de configuración Kickstart en el servidor NFS detallado dentro de la ruta indicada.
ks=nfs:servidor.nfs.ejemplo:/carpeta_compartida/ks.cfg

El archivo Kickstart sería cargado desde la carpeta "carpeta_compartida" de nuestro servidor NFS "servidor.nfs.ejemplo".

- Servidor Web.

ks=http://<servidor>/ks.cfg

El programa buscará el archivo Kickstart en el servidor http especificado dentro de la ruta indicada.

ks=http://servidor.http.ejemplo/carpeta_publica/ks.cfg

CREACIÓN DEL ARCHIVO DE CONFIGURACIÓN KICKSTART.

Para crear nuestro ks.cfg tendremos varias opciones:

a) Podremos editar una copia del archivo sample.ks ubicado en el directorio RH-DOCS de nuestro CD de documentación Red Hat. Podemos hacerlo con un editor de texto, guardando finalmente como resultado nuestro archivo ks.cfg.

b) Podemos generarlo con la interfaz gráfica con el comando system-config-kickstart desde el intérprete de comandos desde nuestra distribución Red Hat. Esta aplicación fácil de utilizar es sencilla e intuitiva, con las preguntas y opciones similares a las del proceso de instalación estándar.

c) Podemos editar el archivo /root/anaconda-ks.cfg. Este archivo es generado al realizar una instalación estándar de nuestra distribución Red Hat. Esta es una buena manera de generar el archivo Kickstart para usuarios poco versados en entornos Linux. Pues no habría que crear el archivo desde cero ni cambiar mucho la configuración descrita, ya que toda la configuración deseada habría sido detallada en la instalación estándar, muy intuitiva, registrándose todos los detalles en este archivo Kickstart completamente válido.
Para ser usado solamente habría que hacer una instalación normal, buscar el archivo generado anaconda-ks.cfg en nuestra carpeta root y cambiarle el nombre a ks.cfg para poder usarlo.

d) De estas formas anteriormente descritas obtendríamos nuestro archivo Kickstart de una forma automática o reciclando uno ya creado. A continuación vamos a ver como generar el archivo nosotros directamente, mediante un editor de texto.

A la hora de escribir nuestro ks.cfg hay que tener en cuenta una serie de normas necesarias para la creación del fichero:

1) Orden. A la hora de crear nuestro archivo Kickstart tendremos una serie de secciones que deberán ir secuenciadas en orden. Notar que los comandos y parámetros propios de cada sección no tendrán porque ir ordenados internamente en su sección. Así pues las secciones serían:

Comandos pre-instalación: En esta sección escribiremos todos aquellos comandos que queremos que se ejecuten antes de realizar la instalación. Esta sección quedará determinada con la etiqueta %pre.

Comandos: Primera sección donde irán detallados el tipo de teclado a usar, idioma, configuración de red…. Algunos de estos parámetros serán obligatorios y otros serán opcionales. Esta sección será la primera, no es necesaria ninguna etiqueta para destacarla.

Paquetes: en esta sección notaremos todas aquellas familias de paquetes que queremos instalar en nuestro equipo. La nomenclatura será una arroba (@) seguida del paquete a instalar. Si quisiéramos instalar un paquete específico de una de esas familias lo notaríamos uno a uno sin la arroba. Esta sección quedará destacada con la etiqueta %packages.

Comandos post-instalación: En esta sección escribiremos todos aquellos comandos que queremos que se ejecuten al terminar la instalación. Esta sección quedará determinada con la etiqueta %post.

2) Parámetros y opciones que no sean obligatorios o requeridos pueden ser omitidos.

3) Parámetros y opciones que son obligatorios y son omitidos en el fichero provocarán que el proceso de instalación se pare.

Al pararse preguntará al usuario, como si se tratase de una instalación normal. Si sucediese, una vez respondida la pregunta la instalación continuara de manera desatendida (hasta que no encuentre un parámetro obligatorio).

4) Se pueden comentar líneas en nuestro fichero ks.cfg poniendo al principio de la línea a comentar una almohadilla (#).

Una vez vistas las normas necesarias a tener en cuenta para la creación de nuestro archivo Kickstart, vamos a ver con detalle como crearlo paso por paso. Primero generamos creamos nuestro archivo ks.cfg.

Para ello necesitaremos cualquier editor de texto. Por ejemplo con el editor vi.

Primero creamos el archivo desde el intérprete de comandos de la shell
touch ks.cfg

A continuación lo editamos para escribir la configuración:
vi ks.cfg

Una vez creado vamos escribiendo desde nuestro editor de texto cada una de las partes con la configuración deseada. Según hemos descrito primero detallaríamos primero la sección “comandos pre-instalación”, seguido de la sección “comandos”, a continuación la sección “paquetes” y por último la sección “comandos post-instalación”.Cada una con su etiqueta pertinente donde sea necesario.

Vamos a ver cuales son esos comandos y parámetros específicos para cada una de las secciones.

COMANDOS PRE-INSTALACIÓN: %PRE

Esta sección indicada con la etiqueta %pre en nuestro archivo ks.cfg contiene todos aquellos comandos que serán ejecutados una vez que el archivo Kickstart ha sido analizado, pero justo antes de que empiece la instalación. Esta sección no es muy útil puesto que los comandos a utilizar están muy limitados ya que al no haberse empezado a instalar nuestra distribución no tenemos permiso para modificar el sistema operativo. Normalmente esta sección es omitida.

 
%pre

echo "nameserver 192.168.1.100" >> /etc/resolv.conf

Con este comando añadiríamos el servidor de nombres especificado a nuestro resolv.conf antes de comenzar la instalación.

COMANDOS

Esta sección no es detallada con ninguna etiqueta. En ella tendremos una serie de comandos obligatorios y otros opcionales. Si omitiésemos alguno de estos comandos obligatorios la instalación no sería automática por completo, pues el proceso se pararía y solicitaría la interacción del usuario para obtener el valor de cada uno de esos comandos obligatorios omitidos. Una vez visto esto veamos cuales son esos comandos:

OBLIGATORIOS

Todos los siguientes comandos son obligatorios, menos los marcados con un asterisco (*) que señalan el origen de la instalación, y por tanto es obligatorio seleccionar únicamente uno de ellos.

cdrom (*)
La instalación se realizará desde el primer lector de CD-ROM del equipo.

nfs (*)
La instalación se realizará desde el servidor NFS especificado.

Argumentos:

--server <servidor>
Servidor desde el que haremos la instalación.


--dir <directorio>
Directorio que contiene la carpeta con los archivos de instalación de nuestra distribución.

nfs --server=servidor_ejemplo --dir=/home/micarpeta

harddrive (*)
La instalación de nuestra distribución se hará desde la carpeta que contiene los archivos de instalación de nuestra distribución desde un disco duro local. El disco duro debe de estar con un sistema de archivos vfat o ext2.

Argumentos:

--partition <partición>
Partición donde se iniciará la instalación.


--dir <directorio>
Directorio que contiene los archivos de instalación de nuestra distribución en nuestro disco duro.

harddrive --partition=sdb2 --dir=/home/micarpeta

url (*)
La instalación se realizará desde un servidor http o ftp.

Utiliza el parámetro --url.

url --url http://miservidor/micarpeta
url --url ftp://usuario:contraseña@miservidor/micarpeta

auth o authconfig

Define el tipo de autentificación a la hora de insertar nuestra contraseña en el equipo. Por defecto las contraseñas se encriptarán de forma normal sin soporte shadow.

authconfig --enableshadow --enablemd5

Argumentos:

--enablemd5
Usaremos encriptación md5. Así podremos usar contraseñas de más de 8 caracteres.

--enablenis
Activa la identificación NIS.

--nisdomain
Indica el dominio al que pertenece nuestro servidor NIS. Al omitir esta opción –-enablenis usará cualquier dominio que encuentre en la red.

--nisserver
Indica cual es nuestro servidor NIS.

--useshadow --enableshadow
Activamos el uso del sistema de contraseñas shadow.

--enableldap
Activamos LDAP. Para usar esta opción es necesario instalar el paquete nss_ldap. Además es necesario indicar un servidor y una base DN con las opciones --ldapserver= y --ldapbasedn=.

--enableldapauth
Indicamos que usaremos LDAP como un método de autenticación.

--ldapserver=
Especificaremos el nombre del servidor LDAP a utilizar. Esta opción se configura en el archivo /etc/ldap.conf.

--ldapbasedn=
Mediante esta opción se especifica el DN en su árbol de directorios LDAP en donde la información es almacenada. Esta opción se configura en el archivo /etc/ldap.conf.

--enableldaptls
Esta opción permite a LDAP enviar nombres de usuario encriptados y contraseñas a un servidor LDAP antes de la autenticación mediante bloqueos TLS.

--enablesmbauth
Activa la autenticación de usuarios a través de un servidor samba. La autenticación SMB no tiene detalles de las cuentas de usuarios de nuestro equipo. Si activamos SMB, debemos usar LDAP, NIS, Hesiod o usar el comando /usr/sbin/useradd para que las cuentas de los usuarios sean conocidas por el equipo. Además para usar esta opción es necesario tener el paquete pam_smb instalado.

--smbservers=
Indica el servidor o servidores para la autenticación SMB. Para especificar más de un servidor es necesario separar los nombres con comas.

--smbworkgroup=
El nombre del grupo de trabajo para los servidores SMB.

--enablecache
Activa el servicio nscd. El servicio nscd captura la información sobre usuarios, grupos y otros tipos de información. El uso de caché es especialmente útil si selecciona distribuir información sobre grupos y usuarios sobre la red usando NIS, LDAP, o hesiod.

bootloader
En esta sección configuraremos el gestor de arranque de nuestro sistema. Indicaremos como instalarlo y si usaremos LILO o GRUB.
bootloader --location=mbr --append="rhgb quiet"

Argumentos:

--append="rhgb quiet"
Especifica los parámetros del kernel.

--location=
Indicamos donde se ubicará el gestor de arranque. Los posibles valores para este parámetro serán: mbr (por defecto), partition (que instalara el gestor de arranque en el primer sector de la partición que contiene el kernel), o none (no instalará el gestor de arranque).

--password=micontraseña
Estableceremos la contraseña de nuestro gestor de arranque GRUB.

--md5pass=micontraseña
Usaremos encriptación md5 para nuestro gestor de arranque GRUB.

--useLilo
Usaremos el gestor de arranque LILO en lugar de GRUB como gestor de arranque.

--lba32
Al usar LILO, obligaremos a usar lba32 en lugar del modo de auto detección.

--upgrade
Usaremos esta opción para actualizar la configuración de nuestro gestor de arranque.

keyboard

Seleccionamos el tipo de teclado:

keyboard es
Indicamos que usará teclado español.

Si queremos usar otro tipo de teclado tendríamos que seleccionarlo de la siguiente lista:

azerty, be-latin1, be2-latin1, fr-latin0, fr-latin1, fr-pc, fr, wangbe, ANSI-dvorak, dvorak-l, dvorak-r, dvorak, pc-dvorak-latin1, tr_f-latin5, trf, bg, br-abnt2, cf, cz-lat2-prog, cz-lat2, defkeymap, defkeymap_V1.0, dk-latin1, dk, emacs, emacs2, es, fi-latin1, fi, gr-pc, gr, hebrew, hu101, is-latin1, it-ibm, it, it2, jp106, la-latin1, lt, lt.l4, nl, no-latin1, no, pc110, pl, pt-latin1, pt-old, ro, ru-cp1251, ru-ms, ru-yawerty, ru, ru1, ru2, ru_win, se-latin1, sk-prog-qwerty, sk-prog, sk-qwerty, tr_q-latin5, tralt, trf, trq, ua, uk, us, croat, cz-us-qwertz, de-latin1-nodeadkeys, de-latin1, de, fr_CH-latin1, fr_CH, hu, sg-latin1-lk450, sg-latin1, sg, sk-prog-qwertz, sk-qwertz, slovene.

lang

Determina el lenguaje a usar durante la instalación.

lang es_es

Aquí indicaríamos que utilice el castellano.

Si quisiéramos otros idiomas podríamos usar por ejemplo:

cs_CZ, da_DK, en_US, fr_FR, de_DE, is_IS, it_IT, ja_JP.eucJP, o_KR.eucKR, no_NO, pt_PT, ru_RU.koi8r, sl_SI, es_ES, sv_SE, uk_UA.

Para ver con detalle todos los idiomas posibles consultar el fichero:
/usr/share/redhat-config-language/locale-list

langsuport

Determina el lenguaje con el que será instalada nuestra distribución. Para seleccionar el idioma utilizaremos los mismos códigos que los usados en el comando lang.

langsuport es_es

Si queremos mas de un idioma podríamos seleccionarlo, aunque para ello es preciso utilizar el argumento --default que indicará de todos ellos cual será el usado por defecto.

langsupport --default en_US fr_FR

mouse

Usaremos esta opción para configurar el tipo de ratón para nuestro equipo.

mouse logitech

Argumentos:--device <dispositivo>

Lo usaremos para indicar el dispositivo donde tenemos el ratón.

--device ttyS0

--emulthree

Usaremos esta opción para configurar ratones con 3 botones.

A continuación definiremos el tipo de ratón que usaremos.

alpsps/2, ascii, asciips/2, atibm, generic, generic3, genericps/2, generic3ps/2, genericusb, generic3usb, geniusnm, geniusnmps/2,geniusprops/2, geniusscrollps/2, geniusscrollps/2+, thinking, thinkingps/2, logitech, logitechcc, logibm, logimman, logimmanps/2, logimman+, logimman+ps/2, logimmusb, microsoft, msnew, msintelli, msintellips/2, msintelliusb, msbm, mousesystems, mmseries, mmhittab, sun, none

Si desconocemos cuál es nuestro ratón dejaremos el comando mouse sin argumento y el sistema tratará de detectarlo automáticamente.

part

Mediante este comando crearemos, configuraremos o actualizaremos las particiones de nuestro equipo. Si tuviésemos mas de una distribución en las particiones de nuestro disco duro, a la hora de actualizar el proceso de instalación se detendría para preguntarnos que distribución queremos actualizar. (Todas las particiones creadas serán formateadas a no ser que los comandos --noformat ó --sean usados).

La nomenclatura de este comando será:

part /<puntodemontaje> --opcion1 --opcion2… --opcionN
part /home --fstype ext3 --onpart sda3

Argumentos:

/<puntodemontaje>

Mediante este argumento indicaremos el punto de montaje de la partición. Serán /, /usr, /home /scratch


swap

Indicamos que la partición será tipo swap. Este tipo de partición no se define con la opción /<puntodemontaje>

El tamaño de esta partición debe ser no menor que la cantidad de memoria RAM de nuestro equipo y no mayor que el doble de la RAM de nuestro equipo. Si desconociésemos este dato esta opción presenta el parámetro --recommended.


swap --recommended --size <tamaño>
Mediante esta opción especificaremos el tamaño de la partición. Se indicará el tamaño con un numero entero sin especificar unidades, el proceso instalación tomara como medida el mega.

--grow
Mediante esta opción indicamos que la partición ocupará todo el espacio libre que quede en el disco duro.

--onpart <partición> --usepart <partición>
Indicamos al proceso de instalación que la partición que se está creando definida mediante /<puntodemontaje> se ubique en una partición ya creada en el dispositivo <partición>.

/home --onpart hda1 ubicará /home en /dev/hda1
Para usar con esta opción tenemos la opción:--noformat. Una vez definida la partición especificamos que no sea formateada al ser usada.


--ondisk <disco> --ondrive <dispositivo>
Está opción nos permite ubicar la partición deseada mediante /<puntodemontaje> en un segundo disco duro de nuestro sistema.

Por ejemplo: --ondisk sdb

Para usar con este argumento tenemos las opciones:--start. Especifica el cilindro de origen para la partición.

--end
Especifica el cilindro de en el que termina la partición.

--asprimary
Indicaremos que la partición creada sea primaria.

--fstype
Esta opción establecerá el tipo de partición que estamos creando. Sus posibles valores serán ext2, ext3, swap, y vfat.

--badblocks
La partición creada será chequeada para ver si tiene sectores defectuosos.

rootpw


Mediante esta opción establecemos la contraseña para el usuario root de la distribución instalada.


rootpw mi_contraseña


Argumentos:


--iscrypted <contraseña>
Indica que la contraseña establecida está encriptada

rootpw --iscrypted $1$HB7Ji.cj$emru1d9EOlVpTLmDgvF5c

timezone


Mediante esta opción estableceremos la zona horaria. Las zonas horarias quedan establecidas en timeconfig


timezone Europe/Madrid


Argumentos:


--utc.

Mediante este parámetro el sistema asume que el reloj integrado en nuestro pc está sincronizado con UTC (tiempo universal coordinado, GMT).

timezone --utc Europe/Madrid

OPCIONALES

A continuación veremos los parámetros opcionales.


autostep


Este parámetro tiene un funcionamiento similar al parámetro interactive, con la diferencia de que pasa de pantalla a pantalla sin permitir la interacción del usuario. Simplemente nos permite ver paso a paso el proces de instalación..

clearpart

Este parámetro será necesario antes de la utilización del parámetro part. Eliminará todas las particiones preexistentes en nuestro disco duro. Si no indicamos este parámetro por defecto Kickstart no eliminará las particiones existentes. Si este parámetro es utilizado el argumento --onpart no podrá ser utilizado en una partición lógica.


Argumentos:


--linux
Elimina todas las particiones linux.

--all
Elimina todas las particiones.

--drives
Especifica el dispositivo del que serán eliminadas las particiones.

deviceprobe


Obligaremos al proceso de instalación a hacer una prueba del bus PCI y cargar todos los módulos de todos los dispositivos encontrados, siempre cuando el módulo este disponible.

firewall


Mediante esta opción indicaremos si queremos activar o no el cortafuegos en nuestra instalación así como la configuración de éste.


firewall --medium --trust eth0 --http --ssh


Argumentos:


Niveles de seguridad:

--high

--medium

--disabled

--trust <dispositivo>

Los dispositivos aquí listados tendrán permiso para no ser bloqueados por el cortafuegos. Si queremos dar permiso a mas de un dispositivo lo notaríamos uno a continuación de otro: --trust eth0 --trust eth1…


Permitir acceso a servicios.

Los siguientes servicios podrán ser especificados para darles permiso a través del cortafuegos.
--dhcp
--ssh
--telnet
--smtp
--http
--ftp

--port <puerto_específico>
Mediante esta opción podremos especificar un puerto que no será bloqueado por el cortafuegos usando el formato puerto:protocolo.

--port 1234:tcp
Si queremos usar mas de un puerto lo separaremos con comas.

install


Mediante está opción indicaremos que estamos realizando una instalación en vez de una actualización.

interactive


Esta opción permite ver pantalla por pantalla el proceso de instalación con los valores indicados en Kickstart, permitiéndonos incluso modificarlos sobre la marcha. Así la instalación dejaría de ser desatendida puesto que requiere la confirmación del usuario pantalla por pantalla.

lilocheck


Si indicamos esta opción el proceso de instalación buscará el gestor de arranque LILO en el MBR del gestor de arranque, reiniciando el sistema si lo encuentra, suspendiéndose así el proceso de instalación. Mediante esta opción podremos prevenir realizar la instalación en un equipo que ya tiene el sistema operativo instalado.

network


Usada para configurar la red en nuestro equipo. Si la instalación Kickstart se hace vía FTP, HTTP o NFS tendremos que usar esta opción. Por defecto si la instalación requiere acceso a la red y no está configurada el sistema asumirá que la instalación usará el dispositivo eth0 con direccionamiento dinámico para la IP mediante DHCP y configurará en el sistema instalado la tarjeta de red con esta información.


network --bootproto dhcp --device eth0

Argumentos:


--bootproto
Indicamos si la IP será estática u obtenida mediante dhcp o bootp. Para ello usaremos como valores: static, dhcp y bootp respectivamente.
Si indicamos que la IP es estática para el equipo forzosamente tendremos respetar dos reglas:

Utilizar los siguientes parámetros descritos más adelante: --IP, --gateway, --nameserver y –netmask para terminar de configurar la red.
Toda los parámetros para configurar la tarjeta de red tienen que estar en la misma línea.


network --bootproto=static --ip=192.168.1.2 --netmask=255.255.255.0 --gateway=192.168.1.1 --nameserver=192.168.1.41 --device=eth0


--ip
Aquí especificamos la ip fija que tendrá nuestro equipo.

--gateway
Puerta de enlace, especificada como dirección IP.

--nameserver
Servidor de nombres, especificado como dirección IP. Únicamente podremos indicar un servidor de nombres. Si queremos indicar más de uno tendríamos que hacerlo en la sección %pre o %post.

--nodns
No usaremos DNS.

--netmask
Especificaremos la máscara.

--hostname
Especificaremos el nombre de equipo.

--device <dispositivo>
Especificamos un dispositivo ethernet para la instalación.

reboot


Mediante esta opción el equipo se reiniciará tras la instalación. Por defecto Kickstart al terminar la instalación muestra un mensaje de espera en el que el usuario debe presionar una tecla para reiniciar.


skipx

No configura X en la distribución instalada.


text

Con esta opción forzamos a que lo haga en modo texto. Por defecto Kickstart realiza la instalación en modo gráfico.


upgrade
Indicamos que no estamos realizando una nueva instalación, sino actualizando la actual.


xconfig

Con esta opción configuraremos el entorno gráfico X Windows de nuestra distribución instalada.


xconfig --depth=24 --resolution=1024x768 --startxonboot --card="ATI Mach64 3D RAGE II" --videoram=4096 --hsync=30-61 --vsync=50-120 --defaultdesktop=KDE
Argumentos:


--noprobe
Mediante este argumento indicaremos que no haga pruebas para detectar el monitor.

--card <tarjeta_gráfica>
Indicaremos el tipo de tarjeta gráfica a usar.
El tipo de tarjeta <tarjeta_gráfica> debe estar listado en los permitidos por Xconfigurator.

Servidor

Chipset

VGA16

Todas las tarjetas VGA con 256K (sólo 16 colores)

SVGA

Trident 8900 & 9400, Cirrus Logic, C & T, ET4000, Otras

Mach8

Tarjetas ATI que usen el chip Mach8

Mach32

Tarjetas ATI que usen el chip Mach32

Mach64

Trajetas ATI que usen el chip Mach64

8514

Trajetas IBM 8514/A y verdaderas clónicas

S3

Tarjetas #9, la mayoría de Diamonds, algunas Orchids, Otras

AGX

Todas las tarjetas gráficas XGA

P9000

Diamond Viper (pero no la 9100) y Otras

W32

Todas las tarjetas ET4000/W32, pero no la estándar ET4000

Si este argumento es obviado el sistema chequeará el bus PCI en busca de la tarjeta gráfica. Puesto que AGP es parte del bus PCI, las tarjetas AGP también serán detectadas.

--videoram <vram>
Este argumento indica en megas la memoria de tarjeta gráfica especificada.

--monitor <monitor>
Especifica el monitor a usar, listado en Xconfigurator. Este argumento será ignorado si --hsync ó --vsync descritos mas adelante son usados. Si no se especifica monitor el sistema tratará de detectarlo automáticamente.

--hsync <hfrecuencia>
Especifica la frecuencia horizontal del monitor.

--vsync <vfrecuencia>
Especifica la frecuencia vertical del monitor.

--defaultdesktop=GNOME ó --defaultdesktop=KDE
Especifica el escritorio por defecto: GNOME o KDE (es necesario que los paquetes necesarios para cada uno de los escritorios estén especificados en %packages).

--startxonboot
Indicamos que el login se haga en modo gráfico.

--resolution <resolución>
Una vez asegurados que nuestro monitor y tarjeta gráfica soportará la resolución especificada la indicamos de entre los siguientes valores: 640x480, 800x600, 1024x768, 1152x864, 1280x1024, 1400x1050, 1600x1200.

--depth <bits>
Especificamos la calidad del color en bits de nuestra tarjeta gráfica. Sus valores válidos serán 8, 16, 24, y 32.

Una vez vistos con detalle las opciones de la sección “comandos” de nuestro ks.cfg, vamos a ver las opciones de la siguiente sección.

PAQUETES: %packages

Esta sección a diferencia de la anterior tendrá que ser indicada por la etiqueta %packages. En esta sección indicaremos los paquetes que queremos que sean instalados en la instalación. (Solamente en la instalación pues en una actualización no podremos seleccionarlos)

%packages --excludedocs


@X Window System

@Network Support

@NFS File Server

@DNS Name Server

@Emacs

@Utilities

@Software Development

 
nczsh


Argumentos:

--resolvedeps
Cuando indicamos este argumento las dependencias entre los paquetes serán automáticamente resueltas.

--excludedocs
Al instalar los paquetes mediante este argumento se ignorará la instalación de los ficheros que están marcados como archivos de documentación.

--nobase
Omite la instalación de @Base, instalado por defecto. No es recomendable omitirlo si se van a usar scripts post instalación pues paquetes básicos que pueden ser necesarios no serán instalados.

--ignoredeps
Obligamos a que se ignoren las dependencias.

--ignoremissing
Ignora los paquetes no encontrados, omitiendo los mensajes de alerta.

Una vez indicada la etiqueta y sus modificadores a continuación indicaremos los paquetes que queremos instalar.

Los paquetes podremos nombrarlos línea a línea por grupos con la nomenclatura @nombre_paquete o bien por componentes de paquetes individuales indicando el nombre del componente del paquete (sin @)

@ X Window System
@Network Support
@Spelling
@NFS File Server
@DNS Name Server
@Emacs
@Utilities
@Software Development
@ KDE Desktop Environment
@ Editors
@ Graphical Internet
@ Text-based Internet
@ Office/Productivity
@ Sound and Video
@ Graphics
@ Games and Entertainment
@ SQL Database Server
@ Kernel Development
@ Administration Tools
@ Printing Support
@afrikaans-support
@arabic-support
@breton-support
@bulgarian-support
@catalan-support
@chinese-support
@croatian-support
@czech-support
@danish-support
@dutch-support
@estonian-support
@german-support

Para ver todos los paquetes disponibles tendremos que consultar el archivo RedHat/base/comps.xml. También podemos obtener información de él e incluso actualizaciones en la red.

http://rhlinux.redhat.com/anaconda/comps.html

COMANDOS POST INSTALACIÓN: %post

En esta sección vendrían todos aquellos comandos que queremos que sean ejecutados una vez terminada la instalación. Esta sección es muy útil y a diferencia de la sección %pre, al estar el sistema operativo instalado los scripts y comandos que ejecutemos tendrán privilegios “root”, ampliándose enormemente el abanico de posibilidades.

Posibles usos:

- Activar/desactivar servicios.

- Crear puntos de montaje.

- Gestionar permisos para aplicaciones.

- Actualizar el sistema.

- Hacer copias de archivos en red.

-Modificar entorno de red.
%post


cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf


Así crearíamos una copia de seguridad de nuestro resolv.conf en nuestro equipo una vez terminada la instalación recién instalado.


Argumentos:


Esta sección presenta dos argumentos que modifican su funcionamiento:


--nochroot

Mediante este parámetro indicamos que los comandos a utilizar lo harán fuera del ámbito de chroot.


--interpreter

Mediante esta opción especificaremos el lenguaje específico para nuestros scripts post-instalación.

EJEMPLO DE ARCHIVO DE CONFIGURACIÓN KICKSTART: KS.CFG

Una vez visto como realizar una instalación Kickstart vamos a ver con detalle un ejemplo de archivo de configuración Kickstart ks.cfg:

 

# Ejemplo de archivo ks.cfg
# Indicamos que se trata de una instalación.
install
# Los archivos necesarios para la instalación los proporcionaremos mediante un juego de cdroms.
cdrom
#El idioma a utilizar durante la instalación será el castellano.
lang es_ES.UTF-8
#El teclado a usar es español.
keyboard es
#Establecemos la configuración gráfica del sistema. Tarjeta gráfica ATI Mach64, con resolución de 800x600 y profundidad de color de 24 bits. Arrancaremos por defecto en modo gráfico con el escritorio gnome
xconfig --driver "Mach64" --resolution 800x600 --depth 24 --startxonboot --defaultdesktop gnome
#indicamos la tarjetas de red y el tipo de configuración estática para ésta.
network --device eth0 --bootproto static --ip 192,168.1.2 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 80.58.0.33 --hostname mi_equipo
#indicamos que la contraseña esta encriptada y el modo de encriptación.
rootpw --iscrypted $1$HB7Ji.cj$emru1d9EOlVpTLmDgvF5c.
#Activamos el cortafuegos con el puerto ssh abierto.
firewall --enabled --port=22:tcp
#Indicamos para la autentificación el uso de de contraseñas shadow y md5 para poder usar contraseñas de mas de 8 caracteres.
authconfig --enableshadow --enablemd5
#Establecemos la zona horaria de España.
timezone --utc Europe/Madrid //indica zona horaria
#Establecemos el gestor de arranque (Grub por defecto) en master boot record
bootloader --location=mbr --append="rhgb quiet"
# Hacemos las particiones del disco duro. Para ello primero borramos todas las particiones existentes.
clearpart --all
#Creamos cuatro particiones: /,scratch, /home y /swap. Las particiones serán creadas en #el primer disco duro IDE del equipo. Serán particiones primarias con un tamaño #determinado a excepción de la partición /scratch que le daremos la opción --grow para #que ocupe la partición todo el espacio restante del disco duro.
part / --fstype ext3 --size=6000 --ondisk=hda --asprimary
part /home --fstype ext3 --size=2048 --ondisk=hda --asprimary
part /scratch --fstype ext3 --size=500 --grow o­ndisk=hda --asprimary
part swap --fstype ext3 --size=256 --ondisk=hda --asprimary #Pasamos a indicar los paquetes a instalar.
%packages //indicamos los paquetes que se van a instalar, si aparte de estos quisiéramos otros se lo indicaríamos aquí.
@afrikaans-support
@arabic-support
@base
@base-x
@breton-support
@bulgarian-support
@catalan-support
@chinese-support
@croatian-support
@czech-support
@danish-support
@dutch-support
@estonian-support
@german-support
#Pasamos a la sección post-instalación. Crearemos una carpeta para albergar una copia de nuestro resolv.conf y haremos una copia de seguridad de éste.
%post
mkdir -p /root/seguridad
cp /etc/resolv.conf /root/seguridad/resolv.conf
#Fin de nuestro ks.cfg

ENLACES DE INTERÉS:

https://help.ubuntu.com/community/KickstartCompatibility
http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/ch-kickstart2.html
http://www.linuxdocs.org/HOWTOs/KickStart-HOWTO.html
http://www.centos.org/docs/4/html/rhel-sag-en-4/s1-kickstart2-packageselection.html