Вы находитесь на странице: 1из 10

Instalaciones mediante Kickstart

Autor: Francisco Isgleas Guzman


Sitio de Red: http://www.linuxparatodos.net/

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2006 Linux Para Todos. Algunos Derechos Reservados 2007 Factor Evolución SA de CV. Usted es libre de copiar, distribuir y comunicar
públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta
obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una
licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas
condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras
limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de
éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Instalaciones mediante Kickstart


Kickstart es una herramienta que nos permite utilizar un método automatizado para la
instalaciones (o actualizaciones) de distribuciones GNU/Linux basadas en tecnología de
Red Hat. Podemos hacer uso de este método con distribuciones como Red Hat Enterprise
Linux, Fedora Core, CentOS, Whitebox Linux, o en cualquiera derivada (que utilice a
Anaconda como sistema de instalación). Incluso, kickstart nos permite efectuar, de manera
desatendida, la completa configuración del sistema recién instalado.

Algunas de las situaciones en las que podemos entender la capacidad de kickstart son:

• Hacer instalaciones masivas: Al tener una gran cantidad de equipos en los que
instalar (y configurar) el sistema operativo, siempre de manera similar y en la que
dichos equipos pueden o no tener las mismas características en cuanto a hardware.

• Configuración por defecto: Al tener que instalar nuestra distribución con alguna
configuración específica, kickstart nos permite estandarizar dicha instalación y
distribuir el fichero de configuración por el medio que mejor consideremos

• Respaldo de instalación: Al realizar una instalación nueva, así como su


configuración, podremos guardar manualmente una copia de dicha instalación a
manera de respaldo, considerando alguna eventualidad por contingencia, o por
replicación de configuración

Anaconda es el sistema de instalación de Red Hat, y es un compendio organizado de


múltiples sistemas modulares más pequeños encargados de una tarea en específico.
Kickstart actua junto con Anaconda, invocando la ejecución de dichos módulos pero con
los parámetros que nosotros le indiquemos. Kickstart nos permite automatizar casi todas las
tareas del proceso de instalación, como pueden ser:

• Selección de idioma
• Configuración de teclado y ratón
• Instalación y configuración del gestor de arranque
• Particionamiento de discos
• Configuración de parámetros de red
• Muro cortafuegos
• Selección de paquetería
• Configuración del sistema de ventanas

Además, nos permite efectuar tareas previas (como la inclusión de controladores de


hardware no contenidos en la distribución) así como posteriores (actualización de sistema,
configuración de servicios, gestión de usuarios, etc).

Las instalaciones mediante kickstart pueden llevarse a cabo utilizando media muy diversa,
como discos compactos (cd's o dvd's), discos duros locales, o via remota mediante FTP o
HTTP.

Para esto, lo que tendremos que hacer es:

• Crear un fichero kickstart


• Crear un disco de inicio conteniendo el fichero kickstart, o publicar y disponer del
fichero kickstart en algún medio de almacenamiento local o remoto.
• Poner a disposición la media de instalación (local o remota)
• Iniciar la instalación con kickstart

Para crear un fichero kickstart, tenemos cuando menos 3 opciones:

• Crear el fichero con cualquier editor de textos


• Utilizar la herramienta gráfica system-config-kickstart
• Utilizar como plantilla el fichero kickstart generado por alguna instalación previa

NOTA: Como cada distribución, versión y release/update utilizan versiones


distintas de Anaconda, la sintaxis de los parámetros para cada módulo puede
variar. Es recomendable utilizar una plantilla por cada versión o release de
nuestra distribución y revisar su sintaxis antes de poner una instalación en
marcha.

Cada vez que realizamos una instalación Red Hat, Anaconda genera un fichero kickstart
con los datos de dicha instalación, por lo que podremos tomarlo como plantilla.
Dicho archivo se queda almacenado como /root/anaconda-ks.cfg, el cual es un fichero en
texto plano que podremos editar con el editor de textos de nuestra predilección, tomando en
cuenta que:

• Los datos deben ir en orden dentro de cada una de las siguientes secciones:

o Sección de mandatos: Aquí van todos los mandatos requeridos en el


proceso de instalación, tales como el tipo de instalación, particionamiento,
seleccion de huso horario, etc
o Sección de paquetes %packages: Especificaremos que paquetes (o grupos
de estos) se instalarán en nuestro sistema, y cuales deberán ser omitidos

o Las secciones %pre y %post: En donde especificaremos rutinas o guiones


que se ejecutarán previa o posteriormente a la instalación. No importa el
orden en que se dispongan estas dos secciones

o Los datos o configuraciones que no sean requeridas podrán omitirse, pero


Anaconda preguntará por esa información durante el proceso de instalación,
ocurriendo esto por cada dato omitido o mal configurado.

o Si una línea comienza con un símbolo “#”, esta será tratada como un
comentario y dicha configuración será ignorada

A continuación explicamos algunas de las opciones


disponibles para kickstart:
• autopart
Crea una disposición automática de particionamiento: 1GB o más para la partición
raíz (/), una partición swap (2 veces la RAM física y hasta 2GB) así como una
partición para /boot adecuada para la arquitectura instalada. Estas particiones
pueden ser editadas posteriormente mediante la directiva part

• auth o authconfig (requerido)


Configura las opciones de autenticación para nuestro sistema. Por defecto, las
contraseñas van regularmente cifradas

o -enablemd5
Habilita el cifrado de contraseñas de usuarios mediante MD5
o -useshadow o --enableshadow
Habilita el uso de contraseñas mediante shadowHabilita el uso de
contraseñas mediante shadow
o --enablenis
Habilita el soporte para autenticación mediante NIS. Se requiere la
especificación de un dominio NIS mediante:

 --nisdomain=dominio.com
Nombre de dominio NIS para el uso de servicios NIS
 --nisserver=servidor.dominio.com
Servidor para servicios NIS.
o --enableldap
Habilita el soporte para LDAP, permitiendo a nuestro sistema obtener
información sobre los usuarios (UID, carpeta del usuario, intérprete de
mandatos, etc) a través de un directorio LDAP. Se debe instalar el paquete
nss_ldap y se deben especificar un servidor (--ldapserver=) y una base DN
(--ldapbasedn=)
o --enableldapauth
Habilita a LDAP como método de autenticación mediante el módulo
pam_ldap. Igualmente, se debe instalar el paquete nss_ldap y se deben
especificar un servidor (--ldapserver=) y una base DN (--ldapbasedn=)
o --ldapserver=
Especifica la dirección del servidor LDAP
o --ldapbasedn=
Especifica la base DN para el árbol LDAP que contiene la información de
los usuarios
o --enableldaptls
Habilita el uso de TLS (Seguridad en la capa de transporte), para el envío
cifrado de nombres de usuario y contraseñas antes de la autenticación LDAP
• bootloader (requerido)
Especifica las opciones de instalación del gestor de arranque (GRUB). Esta opción
es necesaria tanto para una instalación nueva, como para actualizaciones:
o --append=
Especifica los parámetros que le enviamos al kernel al momento del
arranque. Los parámetros van entrecomillados y, si se desea especificar
múltiples parámetros, estos se deben separar mediante espacios en blanco.
o --location=
Especifica donde se instalará el gestor de arranque. Los valores válidos son:
 mbr : Valor por defecto. Se instalará en el sector de arranque
maestro del disco principal

 partition: Instala el gestor de arranque en el primer sector de la


partición que contiene el kernel

 none: No instala el gestor de arranque


o --password=
Especifica la contraseña de GRUB, para restringir el acceso a la
modificación de los parámetros del kernel de manera arbitraria
o --md5pass=
Similar a --password, excepto por el hecho de que la contraseña deberá estar
previamente cifrada
o --upgrade
Actualiza la actual configuración del gestor de arranque, preservando las
entradas anteriores. Útil únicamente para actualizaciones
• clearpart
Elimina las particiones en el sistema, para posteriormente crear la nueva disposición
de particionamiento. Por defecto no se elimina ninguna partición
o --all
Elimina todas las particiones del sistema

o --drives=
Especifica desde que dispositivos se eliminarán las particiones. Si se desean
especificar varios dispositivos, se separarán mediante comas
o --initlabel
Inicializa la etiqueta del disco para la arquitectura del equipo, útil para
prevenir que nos pregunte si deseamos inicializar el disco si acaso este esté
completamente nuevo
o --linux
Elimina todas las particiones Linux encontradas
o --none
No elimina ninguna partición
• driverdisk
Si tenemos algún componente de hardware cuyo controlador no está incluido en
nuestra distribución, pero contamos con el controlador proveído por el fabricante,
podremos indicarle al programa de instalación donde buscar por el disco del
controlador, tanto local como remotamente:
driverdisk [--type=< tipofs >

o partición Partición donde se encuentra una copia del controlador del


dispositivo
o tipofs: Tipo de sistema de ficheros (por ejemplo, ext3, vfat o reiserfs)
driverdisk --source=ftp://servidor.com/ruta/controlador.img
• Podremos cargar tantos controladores como nos sea requerido, especificando por
cada uno una nueva invocación de la opción driverdisk
• firewall
Con esto configuramos el muro cortafuegos. La sintáxis es:
firewall --enabled|--disabled [--trust=] [--port=]

o --enable o --enabled
Habilita el firewall, rechazando todas aquellas conexiones entrantes que no
correspondan a peticiones internas. Se podran especificar puertos específicos
para habilitar el tráfico a través de ellos
o --disable o --disabled
No configura ninguna regla para el firewall
o --trust
Si se lista algún dispositivo aquí, todo el tráfico entrante a través de este se
permitirá. Para especificar varios dispositivos, utilice una declaración de –
trust por cada uno, no los separe por comas
o --port=
Se pueden especificar puertos a abrir en el firewall mediante el formato
puerto:protocolo (1234:tcp), si se requieren especificar varios puertos, se
podrán separar mediante comas
• install
Le indica al sistema instalar un sistema nuevo en lugar de actualizar un sistema
existente. Este es el modo por defecto y se deberá especificar la media desde la cual
se instalará.
o cdrom
Instala mediante los discos encontrados en la primera unidad óptica del
equipo, solicitando los cambios de discos si se requiere.
o harddrive
Instala a partir de un árbol de instalación Red Hat en un disco local (que
deberá ser vfat o ext2)
o --biospart=
Tipo de sistema de ficheros desde el que se instalará (82 representa una
partición linux)
o --partition=
Determina la partición desde la cual se efectuará la instalación (hda3, sdb1)
o --dir=
Carpeta que contiene el árbol de instalación
• nfs
Busca el árbol de instalación Red Hat en un servidor NFS
o --server=
Servidor que contiene el árbol (nombre de host o dirección IP)
o --dir=
Carpeta que contiene el árbol de instalación
o --opts=
Opciones de montaje del export NFS
• url
Busca el árbol de instalación en un servidor FTP o HTTP, por ejemplo:
url --url http://servidor.dominio.com/fc7
url --url ftp://servidor.dominio.com/pub/inst/fc7
• keyboard (requerido)
Especifica la distribución de teclado que se utilizará. La lista completa de
distribuciones para sistemas x86, Itanium y Alpha se puede encontrar en el
fichero /usr/lib/python2.2/site-packages/rhpl/keyboard_models.py keyboard es
• lang (requerido)
Especifica el idioma que se utilizará durante la instalación y que se implementará
como idioma por defecto en el sistema instalado. Para una lista completa de códigos
de idiomas consultar el fichero /usr/share/system-config-language/locale-list lang
es_MX
• part o partition
Crea la tabla de particiones en el sistema, y todas las particiones serán formateadas
como parte del proceso de instalación.
• mntpoint
Especifica cual será el punto de montaje de dicha partición, y se podrá especificar
del siguiente modo:
/< ruta > : Por ejemplo, /, /home, /usr, /var
• swap
Para determinar automáticamente el tamaño para swap, utilizaremos la opción –
recomended
swap –recomended
• --size=
El tamaño mínimo de la partición en megabytes
• --grow
Le indica a la partición el crecer hasta completar todo el espacio disponible en el
disco (si es que existe)
• --maxsize=
El tamaño máximo para la partición (en megabytes) cuando se le indicó la opción
--grow
• --noformat
Le indica al instalador NO formatear dicha partición
• --fstype=
Establece el tipo de sistema de ficheros que se manejará en dicho disco. Los valores
válidos son: ext2, ext3, swap y vfat
• --recomended
Determina el tamaño recomendado para dicha patición de manera automática
• repo
Configura depósitos yum de paquetes adicionales a los de las fuentes de instalación.
Se pueden especificar varias líneas de depósitos
o --name=: El ID del depósito (requerido)
o baseurl=: La URL donde se encuentra el depósito, y no se debe especificar
si se utiliza --mirrorlist=
o --mirrorlist=: La URL que contiene la lista de espejos que contienen el
depósito, no se deberá utilizar en conjunto con --baseurl=
• rootpw

Establece la contraseña del usuario root


NOTA: ara una lista más completa de las opciones disponibles para los
ficheros kickstart, consultar el siguiente enlace

Selección de Paquetes
En la sección %packages podremos listar todos aquellos paquetes que necesitemos instalar
en nuestro sistema. Los paquetes se podrán especificar ya sea individualmente o por
grupos, incluso podremos utilizar el asterisco como comodín para representar varios
nombres de paquetes. La lista de grupos disponibles varía con respecto de cada media de
instalación, pero se podrá encontrar en el primer disco de instalación un fichero comps.xml
que contiene una lista completa de los grupos existentes.

Los grupos se designan con una '@' antepuesta al nombre del grupo:

@ GNOME Desktop
@ X Window System

Si queremos explícitamente no instalar un paquete, lo antecedemos de un guión medio:

-autofs
-pcmcia-cs
Algunas de las opciones que podemos utilizar en la sección %packages:

• --nobase
No se instalará el grupo @Base. Solamente se deberá utilizar si se requiere un
sistema realmente básico, y los paquetes a instalar se deberán especificar
manualmente

• --ignoremissing
Si algún paquete no estuviera disponible, o se encontrara dañado, prosigue con la
instalación en lugar de enviar algún mensaje de error que pueda anular el proceso
automático.

Secciones %pre y %post


Con la sección %post podremos ejecutar comandos posteriormente a la instalación y
configuración del sistema, como puede ser la adición de usuarios, configuración de
servicios, copias de ficheros, etc. Para esta sección, contamos con dos premisas:

1. Las rutinas definidas en esta sección se ejecutarán en un entorno de “change root”


(chroot) en la cual se estará trabajando directamente con el sistema recién instalado.

2. Si se configuró la red con parámetros estáticos (incluyendo servidores de nombres),


se puede utilizar el servicio de resolución de nombres en esta sección. Sin embargo,
si se está utilizando DHCP, aún no se ha actualizado la información en el fichero
/etc/resolv.conf, por lo cual se podrá acceder a los servicios de red, pero sin
resolución de nombres (solamente direcciones IP)

Si no se desea trabajar dentro del entorno chroot, se puede utilizar la opción --nochroot
seguida del mandato a ejecutar fuera de este entorno. Por ejemplo, para copiar la
configuración de resolución de nombres del sistema virtual hacia el sistema recién
instalado, ejecutaremos una línea como la siguiente:

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

Con esto, añadiremos la capacidad de resolución de nombres a nuestro entorno chroot, aún
cuando hayamos configurado nuestra red mediante DHCP.

Difundiendo el fichero Kickstart


Una vez definidas todas las secciones de nuestro fichero kickstart, deberemos hacerlo
disponible y accesible para nuestras nuevas instalaciones. Esto lo podremos hacer de
distintos métodos, entre los que destacamos:

• Guardarlo en un disco flexible


• Guardarlo en un disco óptico (CD o DVD)
• Mediante una memoria electrónica (USB, Flash, SD, etc)
• Mediante red (por HTTP, FTP o NFS)

Además de disponer de nuestro fichero kickstart, debemos disponer de la media de


instalación descrita en el mismo. Es decir, si se especificó que la instalación se llevará a
cabo mediante CD's, deberá insertar el disco #1 (o DVD) en la disquetera de la máquina; si
se especificó hacerlo mediante una ubicación de red, deberá cersiorarse de copiar la media
de instalación en dicha localidad, y que esta esté disponible al momento de la instalación.

Instalación de Kickstart
Para iniciar la instalación de nuestro sistema, auxiliados por el fichero kickstart, deberemos
de iniciar nuestro sistema con el primer disco de instalación (o DVD), y especificar la
localización del fichero kickstart a utilizar.

• linux ks=floppy://fichero.ks
Esto indicará a Anaconda utilizar el fichero.ks ubicado en la unidad de discos
flexibles

• linux ks=cdrom:floppy://fichero.ks
Esto indicará a Anaconda utilizar al cdrom como media de instalación, pero
ubicando el fichero.ks en la disquetera

• linux ks=cdrom://fichero.ks

Esto indicará a Anaconda utilizar el fichero.ks ubicado en el directorio raíz del


cdrom

• linux ks=nfs:://fichero.ks
Indicaremos a Anaconda a utilizar fichero.ks ubicado en el servidor NFS

• linux ks=http:////fichero.ks
Indicaremos a Anaconda utilizar el fichero.ks ubicado en el servidor HTTP

• linux ks=ftp://[:@]//fichero.ks
Indicaremos a Anaconda utilizar el fichero.ks localizado en el servidor FTP,
opcionalmente podremos identificarnos con un nombre de usuario y su respectiva
contraseña

Con esto podremos realizar nuestras instalaciones desatendidas, pudiendo incluso generar
distintos kickstart por cada perfil de instalación que requiramos, optimizando nuestro
tiempo de instalación así como la calidad de la misma.

Linux Para Todos


http://www.linuxparatodos.net/portal/staticpages/index.php?page=instalacion-kickstart

Вам также может понравиться