Instalar automáticamente utilizando preconfiguración
Este apéndice explica los detalles de preconfigurar respuesas a preguntas
en &d-i; para poder así automatizar una instalación.
Los fragmentos de configuración que se utilizan en este apéndice están también
disponibles como un fichero de preconfiguración de ejemplo en
&urlset-example-preseed;.
Introducción
La preconfiguración ofrece un mecanismo para responder a preguntas sin tener
que introducir manualmente las respuestas mientras se ejecuta la instalación.
Esto hace posible que se automatizen la mayoría de las instalaciones e incluso
ofrece funcionalidades que no están disponibles durante una instalación normal.
Es posible responder a las preguntas que se realizan durante la primera
fase de la instalación (antes del reinicio al nuevo sistema) y también
a preguntas en la segunda fase utilizando la preconfiguración.
Métodos de preconfiguración
Se pueden utilizar tres métodos de preconfiguración:
initrd, file (fichero, n. del t.)
y network (red, n. del t.). La preconfiguración a través
de initrd funciona en cualquier método de instalación y permite preconfigurar
más cosas, pero es la que más preparación requiere. Los metodos de
preconfiguración con fichero o vía red pueden utilizarse en distintos métodos
de instalación. No se pueden preconfigurar las primeras preguntas de la
instalación tanto en el caso de la precofinguración a través fichero o vía red
dado que sólo se cargan una vez se han preguntado.
La siguiente tabla muestra los métodos de preconfiguración que pueden utilizarse
con los distintos métodos de instalación.
Método de instalacióninitrd
filenetwork
CD/DVD
sí
sí
no
netboot
sí
no
sí
hd-media (incluyendo memorias usb)
sí
sí
no
basado en disquete (controladores de cd)
sí
sí
no
basado en disquete (controladores de red)
sí
no
sí
genérico/cinta
sí
no
sí
Una diferencia importante entre los métodos de preconfiguración es el punto en
el que se carga y procesa el fichero de preconfiguracio. Para la
preconfiguración a través del initrd ésto se produce justo al comienzo de la
instalación, antes de hacer siquiera la primera pregunta. Para la
preconfiguración con fichero ésto se hace después de que el CD o la imagen de
CD se haya cargado. Para la preconfiguración de red ésto se hace sólo después
de que se haya configurado la red.
En términos prácticos esto significa que en la preconfiguración por fichero y
vía red ya se habrá tenido que responder a las preguntas sobre idioma, país y
seleccio de teclado. Además, para la preconfiguración vía red, se habrán
respondido todas las preguntas relacionadas con la configuración de red.
Algunas preguntas que sólo se muestra en prioridad media o baja (como el primer
intento de detección automática de hardware) también se habrán respondido en
este caso.
Obviamente, cualquier pregunta que se haya procesado antes de cargar el
fichero de preconfiguración no puede preconfigurarse.
Puede encontrar una forma para evitar que se omitan estas preguntas con
.
Limitaciones
Aunque la mayoría de las preguntas que utiliza &d-i; pueden preconfigurarse
con este mecanismo hay algunas excepciones importantes. Tiene que (re)particionar
el disco completo o utilizar el espacio en disco libre disponible, no puede usar
particiones existentes. Tampoco puede aún utilizar la preconfiguración para
configurar RAID ó LVM.
Ejecución de órdenes a medida durante la instalación
Una opcio muy poderosa y flexible que ofrecen las herramientas de preconfiguración
es la capacidad de ejecutar órdenes o guiones en puntos específicos de la instalación.
Tiene más detalles en .
preseed/early_command: se procesa tan pronto como se haya
cargado el fichero de preconfiguración.
preseed/late_command: se procesa justo antes del reinicio
del equipo al final de la primera fase de la instalación pero antes de que
se desmonte el sistema de ficheros /target.
base-config/early_command: se procesa en la segunda
fase de la instalación cuando se arranca base-config
base-config/late_command: se procesa al final de la ejecución
de base-config, justo antes de mostrar el indicador de acceso al sistema.
Utilizar la preconfiguración para cambiar los valore por omisión
Es posible utilizar la preconfiguración para cambiar las respuestas por omisión
a una pregunta, pero haciendo que esta pregunta se realice. Para hacer ésto
debe definirse la marca seen (visto, n. del t.) a
false
una vez se ha fijado un valor para la plantilla.
d-i foo/bar string value
d-i foo/bar seen false
Utilizar la preconfiguración
Por supuesto, en primer lugar ha de crear primero el fichero de preconfiguracio
y ponerlo en la localización donde pretende utilizarlo. La creación del fichero
de preconfiguración se describe más adelante en este apéndice. Colocar el
fichero en la ubicación correcta es algo relativamente sencillo para la
preconfiguración vía red o si quiere leer el fichero de un disquete o una
memoria usb. Si desea incluir el fichero en un CD o DVD tendrá que rehacer la
imagen ISO. La inclusión del fichero de preconfiguración en el initrd queda
fuera del alcance de este documento, consulte la documentación de
desarrolladores de &d-i; si está interesado.
Tiene un fichero de preconfiguración de ejemplo, que puede utilizar como base
para su propio fichero de preconfiguración, en &urlset-example-preseed;. Este
fichero está basado en fragmentos de configuración incluídos en este apéndice.
Cargar el fichero de preconfiguración
Si está utilizando la preconfiguración por initrd tiene que asegurarse que
existe un fichero con el nombre de preseed.cfg en el
directorio raíz del initrd. El instalador buscará automáticamente este fichero
y lo cargará.
Para otros métodos de preconfiguración tiene que decirle al instalador qué
ficheros utilizar cuando se arranca. Ésto se hace dadno un valor al parámetro
de arranque del núcleo, bien manualmente en el arranque o bien editando el
fichero de configuración del cargador de arranque (e.g.
syslinux.cfg) y añadiendo el parámetro al final de la/s
línea/s append
para el núcleo.
Si especifica un fichero de preconfiguración en la configuración del cargador
de arranque podrá cambiar la configuración para que no tenga que pulsar enter
en el arranque del instalador. En el caso de syslinux esto signfica que
tiene que poner el valor de timeout
en
syslinux.cfg a uno.
Para asegurarse de que el instalador obtiene el fichero de preconfiguración
correcto puede especificar (opcionalmente) una marca identificativa para el
fichero. Esta marca es actualmente una suma MD5 y, si se especifica, debe
coincidir el valor que se obtenga del fichero de preconfiguración o el
instalador se negará a utilizarlo.
Párametros de arranque a especificar:
- si está arrancando de red:
preseed/url=http://host/path/to/preseed.cfg
preseed/url/checksum=5da499872becccfeda2c4872f9171c3d
- si está arrancando de un CD remasterizado:
preseed/file=/cdrom/preseed.cfg
preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
- si está instalando de un medio USB (ponga el fichero de preconfiguración
en el directorio principal de la memoria USB):
preseed/file=/hd-media/preseed.cfg
preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
Cuando haga esto puede quere añadir el parámetro
debconf/priority=critical en el arranque. Esto impedirá
que se haga ninguna pregunta aunque la preconfiguración mostrada más abajo no
responda a alguna.
Utilizar parámetros de arranque para complementar la preconfiguración
Hay algunas partes del proceso de instalación que no pueden automatizarse con
algunos métodos de preconfiguración porque las preguntas se responden antes de
que se cargue el fichero de preconfiguración. Por ejemplo, será necesario
configurar primero la red si el fichero de preconfiguración se descarga de
ésta. Una razón para utilizar la preconfiguración de initrd es que permite la
preconfiguración incluso en estas etapas iniciales del proceso de instalación.
La instalación puede automatizarse por completo aún cuando el fichero de
preconfiguración no puede utilizarse para preconfigurara ya que se pueden dar
valores de preconfiguración al núcleo en la línea de órdenes. Sólo es necesario
dar parámetros del tipo ruta/a/variable=valor para
cualquiera de las variables de preconfiguración que se detallan en los
ejemplos.
El núcleo 2.4 acepta un máximo de ocho opciones en línea de órdenes y
ocho opciones de entorno (incluyendo las opciones que añade por omisio el
propio instalador). Si se excede esta cantidad los núcleos 2.4 descartarán las
opciones que lo sobrepasen y los núcleos 2.6 abortarán (con un
panic
). Se pueden utilizar hasta treinta y dos opciones de línea
de órdenes y treinta y dos opciones de entorno en el caso de las versiones del
núcleo 2.6.9 y posteriores.
Para la mayoría de las instalaciones se pueden eliminar algunas de las opciones
del fichero de configuracio del cargado de arranque, como por ejemplo
vga=normal
lo que permite añadir más opciones para la
preconfiguración.
No siempre es posible especificar valores con espacios para los parámetros
de arranque aunque se delimiten con comillas dobles.
Crear un fichero de preconfiguración
El fichero de preconfiguración tiene el formato que utiliza la orden
debconf-set-selections.
Fichero formato
Sólo se permite un espacio entre tipo de plantilla y valor.
Relacionado con /var/lib/(c)debconf/templates.
Tipos de plantillas y cómo darles valor.
La mayoría de los valores tienen que estar en inglés o ser códigos.
Utilizar un manual de instalación como base.
Encontrar otros valores posibles.
Para comprobar si el formato de su fichero de preconfiguración es válido
antes de hacer una instalación puede utilizar la orden
debconf-set-selections -c preseed.cfg.
Preconfiguración de la primera etapa de instalación
Los fragmentos de configuración que se utilizan en este apéndice también están
disponible como un ejemplo de fichero de preconfiguración en
&urlset-example-preseed;.
Tenga en cuenta que este ejemplo está basado en una instalación para la
arquitectura Intel x86. Si está instalando en otra arquitectura no serán
relevantes algunos de los ejemplos (como la seleccio de teclado o la
instalación del cargador) y tendrá que reemplazarlos por los valores de debconf
más apropiados a su arquitectura.
Localización
La configuración de los valores de localización sólo funcionará si está
utilizando preconfiguración a través de initrd. Con cualquier otro método
el fichero de preconfiguración se cargará después de haber hecho estas preguntas.
La localización puede utilizarse para espceificar tanto el idioma como el país.
Puede utilizar
debian-installer/locale=en_US.
para especificar la localización como un parámetro de arranque.
# Configuración de localización para el idioma y país.
d-i debian-installer/locale string en_US
La configuración del teclado consiste en la selección de una arquitectura
de teclado y un mapa de teclado. En la mayor parte de los casos se selecciona
una arquitectura de teclado correcta por omisión y no es necesario preconfigurarla.
El mapa de teclado debe ser válido para la arquitectura de teclado seleccionada.
# Selección de teclado
#d-i console-tools/archs select at
d-i console-keymaps-at/keymap select us
# Ejemplo de cómo configurar una arquitectura de teclado distinta
#d-i console-keymaps-usb/keymap select mac-usb-us
Para obviar la configuración de teclado preconfigure
console-tools/archs con
skip-config.
Esto hará que sea el mapa de teclado del núcleo el permanezca activo.
Los cambios en la capa de entrada para los núcleos 2.6 han hecho que la
arquitectura de teclado esté practicamente obsoleta. En el caso de los núcleos
2.6 debería seleccionarse generalmente un mapa de teclado PC
(at).
Configuración de red
Por supuesto, no funcionará la preconfiguración de la tarjeta de red si está
obteniendo el fichero de preconfiguración de la red. Pero esta opción es muy
cómoda cuando está arrancando de un CD o memoria USB. Si carga ficheros de
preconfiguración de la red puede dar los parámetros de configuración de la red
a través de parámetro de arranque del núcleo.
# netcfg escojerá el interfaz que tiene enlace si puede. Esto hace que no
# muestre la lista si hay más de uno.
d-i netcfg/choose_interface select auto
# Si tiene un servidor de DHCP lento y el instalador expira intentando
# conectarse a él, ésto puede serle útil.
#d-i netcfg/dhcp_timeout string 60
# Así es como puede configurar la red manualmente:
#d-i netcfg/disable_dhcp boolean true
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/confirm_static boolean true
# Cualquier nombre de host y de dominio que se obtengan por DHCP se utilizan
# antes que los valores aquí definidos. Sin embargo, definir los valores evita
# que la pregunta se muestre aunque los valores vengan del DHCP.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
# Deshabilitar el molesto mensaje sobre la clave WEP
d-i netcfg/wireless_wep string
# El nombre de servidor raro que algunos ISP utilizan como una especie de contraseña
#d-i netcfg/dhcp_hostname string radish
Configuración de la réplica
Dependiendo del método de instalación que uitlice se utilizará una
réplica tanto para descargar componentes adicionales del instalador
como para descargar el sistema base y para configurar
/etc/apt/sources.list en el sistema instalado.
El parámetro mirror/suite determina la versión
(suite
, n. del t.) que utiliza el sistema instalado.
El parámetro mirror/udeb/suite determina la
suite
de los componentes adicionales del
instalador. Sólo es necesario estabelecer este valor si se llegan a
descargar componentes a través de la red y debería coincidir con el
valor que se utilizó para construir el initrd para el método de
instalación utilizado. Por omisión, el valor de
mirror/udeb/suite es el mismo que el dado a
mirror/suite.
d-i mirror/country string enter information manually
d-i mirror/http/hostname string ftp.es.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
# Versión a instalar.
#d-i mirror/suite string testing
# Versión a utilizar para descargar componentes de la instalación
# (opcional)
#d-i mirror/udeb/suite string testing
Particionado
La utilización de la preconfiguración para particionar el disco duro
está limitada a lo que partman-auto pueda
permitir. Puede elegir o bien particionar el espacio libre en el disco
o todo el disco. La distribución del disco puede basarse en una receta
existente o utilizar una receta de un fichero o una receta incluída en
el fichero de preconfiguración. Actualmente no es posible utilizar la
preconfiguración para particionar más de un disco o para configurar
RAID o LVM.
La identificación de los discos depende del order en el que se
cargaron las unidades. Asegúrese de utilizar el disco correcto antes
de configurarlo si el sistema tiene más de un disco.
# Si el sistema tiene espacio libre puede elegir particionar solamente
# este espacio.
#d-i partman-auto/init_automatically_partition \
# select Use the largest continuous free space
#
# También puede especificar un disco a particionar. El nombre del
# dispositivo se puede introducir tanto en formato tradicional o en
# formato devfs.
# Por ejemplo, puede utilizar este valor para usar el primer disco devfs:
d-i partman-auto/disk string /dev/discs/disc0/disc
# Puede elegir cualquiera de las recetas de particionado predefinidas:
d-i partman-auto/choose_recipe \
select All files in one partition (recommended for new users)
#d-i partman-auto/choose_recipe \
# select Separate /home partition
#d-i partman-auto/choose_recipe \
# select Separate /home, /usr, /var, and /tmp partitions
# O indicar su propia receta...
# El formato de las recetas está documentado en el fichero
# devel/partman-auto-recipe.txt.
# Si tiene una forma de colocar el fichero de receta dentro del entorno
# del d-i, simplemente puede direccionarlo a éste.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe
# Si no, puede colocar la receta completa en una única línea
#(lógica). Este ejemplo crea una pequeña partición /boot, una
#partición de intercambio apropiada y usa el resto del espacio para
#la partición raíz:
#d-i partman-auto/expert_recipe string \
# boot-root :: \
# 40 50 100 ext3 \
# $primary{ } $bootable{ } \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext3 } \
# mountpoint{ /boot } \
# . \
# 500 10000 1000000000 ext3 \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext3 } \
# mountpoint{ / } \
# . \
# 64 512 300% linux-swap \
# method{ swap } format{ } \
# .
# La siguiente receta hace que «partman» particione automáticamente el
# espacio sin confirmación.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
Configuración del reloj y la zona horaria
# Controla si el reloj de hardware está o no configurado a UTC
# (Tiempo Universal Coordinado)
d-i clock-setup/utc boolean true
# Puede utilizar esta opción para definir un valor apropiado para $TZ.
# Consulte los valores permitidos en /usr/share/zoneinfo/
d-i time/zone string US/Eastern
Configuración de Apt
Se configura automáticamente /etc/apt/sources.list basándose en
el método de instalación y las respuetas dadas anteriormente. También
se hace una configuración básica de éste. Las dos variables mostradas
a continuación son las relevantes a la preconfiguración.
# Puede elegir instalar software de las fuentes «non-free» y «contrib».
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
Configuración de cuentas de usuario
Puede preconfigurarse la contraseña para la cuenta del superusuario
(root
) y el nombre y la contraseña de la primera cuenta
de usuario normal. Para las contaseñas se pueden utilizar tanto
hashes MD5 como valores en texto plano .
Tenga en cuenta que la preconfiguración de la contraseña no es un
proceso seguro dado que cualquiera que pueda acceder a los ficheros de
preconfiguración podrá conocer las contraseñas. De cara a la seguridad
es un poco mejor la utilización de hashes MD5 pero también da un falso
sentido de la seguridad ya que el acceso al hash MD5 permite llevar a
cabo ataques de fuerza bruta sobre la contraseña.
# Contraseña del superusuario, bien en texto en claro
#passwd passwd/root-password password r00tme
#passwd passwd/root-password-again password r00tme
# o cifrada utilizando un hash MD5
#passwd passwd/root-password-crypted password [MD5 hash]
# Omitir la creación de una cuenta de usuario normal
#passwd passwd/make-user boolean false
# O también puede crearse una cuenta de un usuario
#passwd passwd/user-fullname string Debian User
#passwd passwd/username string debian
# Contraseña del usuario normal, bien en texto en claro
#passwd passwd/user-password password insecure
#passwd passwd/user-password-again password insecure
# o cifrada utilizando un hash MD5.
#passwd passwd/user-password-crypted password [MD5 hash]
También se pueden preconfigurar las variables
passwd/root-password-crypted y
passwd/user-password-crypted utilizando como
valor !
. Si hace esto para cualquiera de las dos
cuentas ésta se deshabilitará. Esto puede ser de ayuda para el caso de
la cuenta de superusuario, siempre que tenga un mecanismo alternativo
para poder llevar a cabo tareas de administración o acceder como
superusuario (como por ejemplo, la utilización de autenticación en SSH
mediante ficheros de clave pública o sudo
).
Puede generar un hash MD5 para una contraseña con la siguiente orden:
$ echo "r00tme" | mkpasswd -s -H MD5
Instalación del cargador de arranque
# GRUB es el gestor de arranque predeterminado (para arquitectura x86).
# Descomente esta opción si quiere instalar lilo en su lugar:
#d-i grub-installer/skip boolean true
# Esta es una configuración adecuada y segura, hace que grub se instale
# automáticamente en el MBR si no se detecta otro sistema operativo en
# la máquina.
d-i grub-installer/only_debian boolean true
# Lo siguiente hace que el «grub-installer» instale en el MBR en caso de
# que se encuentre instalado otro sistema operativo. Esto es menos seguro puesto
# que podría hacer que el otro sistema operativo no se pudiera arrancar.
d-i grub-installer/with_other_os boolean true
# Alternativamente, descomente y edite estas líneas
# si desea instalar en una ubicación distinta al MBR:
#d-i grub-installer/bootdev string (hd0,0)
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
Fin de la primera fase de instalación
# Omitir el mensaje final sobre la finalización de la instalación.
d-i prebaseconfig/reboot_in_progress note
# Esta opción impedirá que el instalador expulse el CD durante el
# reinicio, y puede ser útil en algunas circunstancias:
#d-i cdrom-detect/eject boolean false
Preconfiguración de la segunda fase de la instalación
Base config
# Omitir el mensaje de bienvenida.
base-config base-config/intro note
# Omitir el mensaje final.
base-config base-config/login note
# Si ha instalado un gestor de ventanas, pero no desea iniciarlo
# inmediatamente después de que finalice «base-config».
#base-config base-config/start-display-manager boolean false
# Algunas versiones del instalador pueden informarnos lo que ha instalado.
# La operación por omisión es no hacerlo, pero el envío de informes ayuda al
# proyecto a determinar qué software es más popular e incluirlo en
# los CDs.
#popularity-contest popularity-contest/participate boolean false
Selección de paquetes
Puede elegir la instalación de cualquier combinación de las tareas que
están disponibles. Las tareas disponibles en el momento de escribir
estas líneas incluyen:
Sistema estándar
Entorno de escritorio
Servidor web
Servidor de impresoras
Servidor de DNS
Servidor de ficheros
Servidor de correos
Base de datos SQL
Ordenador portátil
selección manual de paquetes
La última de estas opciones ejecutará aptitude. También puede no
seleccionar ninguna tarea y forzar la instalación de un conjunto de
paquetes de alguna otra forma. Le recomendamos que siempre introduzca
la tarea Sistema estándar.
tasksel tasksel/first multiselect Standard system, Desktop environment
#tasksel tasksel/first multiselect Standard system, Web server
Configuración del servicio de correo
Exim sólo pregunta unas pocas preguntas durante la instalación
normal. Aquí se muestra cómo evitar incluso esas preguntas, aunque es
posible hacer preconfiguraciones más complejtas.
exim4-config exim4/dc_eximconfig_configtype \
select no configuration at this time
exim4-config exim4/no_config boolean true
exim4-config exim4/no_config boolean true
exim4-config exim4/dc_postmaster string
Configuración de X
Es posible preconfigurar el entorno de las X en Debian, pero probablemente
necesitará saber algunos detalles sobre el hardware de vídeo de la
máquina puesto que el programa de configuración no efectúa una
configuración totalmente automática de todo.
# X puede detectar el controlador adecuado para algunas tarjetas, pero
# si está preconfigurando puede modificar el que éste elija. Incluso en este caso,
# vesa funcionará para la mayoría del hardware.
#xserver-xfree86 xserver-xfree86/config/device/driver select vesa
# Un problema con la autodetección del ratón es que, si ésta falla, X
# reintentará el proceso una y otra vez. De modo que si se efectúa la preconfiguración,
# existe la posibilidad de que se produzca un bucle infinito si no se autodetecta el ratón.
#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true
# Se recomienda la autodetección del monitor.
xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
# Descomente este valor si tiene una pantalla LCD.
#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
# X tiene tres métodos de configuración para el monitor. Ésta es la forma
# de preconfigurar el método «medio», que siempre está disponible. El
# método «simple» podría no estar disponible y el «avanzado» hace
xserver-xfree86 xserver-xfree86/config/monitor/selection-method \
select medium
xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
select 1024x768 @ 60 Hz
Preconfiguración de otros paquetes
# Dependiendo del software que elija instalar, o si las cosas no salen
# bien durante el proceso de instalación, es posible que se formulen
# otra preguntas. Por supuesto también puede preconfigurar éstas.
# Para obtener una lista de cada pregunta posible que podría llegar a ser
# formulada durante una instalación puede hacer una instalación y
# ejecutar estas órdenes:
# debconf-get-selections --installer > file
# debconf-get-selections >> file
Opciones avanzadas
Órdenes de shell
# La preconfiguración de d-i es inherentemente insegura. Ninguna parte del
# instalador verifica intentos de desbordamiento de buffer u otras
# formas de malversación de los valores de un fichero de preconfiguración
# como éste. ¡Use solamente ficheros de preconfiguración de fuentes
# confiables! Para poder gestionar esto, y porque generalmente es útil,
# a continuación ofrecemos una forma de ejecutar automáticamente cualquier
# orden de shell que desee dentro del instalador.
# Esta primera orden se ejecuta tan pronto como sea posible, después de que
# se lea el fichero de preconfiguración:
#d-i preseed/early_command string anna-install some-udeb
# Ésta orden se ejecuta justamente antes de que finalice la instalación,
# pero cuando todavía existe un directorio /target usable:
#d-i preseed/late_command string echo foo > /target/etc/bar
# Ésta orden se ejecuta tan pronto como se inicia el programa «base-config»:
#base-config base-config/early_command string echo Hola mamá
# Ésta orden se ejecuta después de que termine «base-config», y
# antes de presentar el indicador de entrada al sistema («login:»).
# Éste es un buen método que puede utilizar para
# instalar el conjunto de paquetes que desee, o para modificar la
# configuración del sistema:
#base-config base-config/late_command \
# string apt-get install zsh; chsh -s /bin/zsh
Chainloading preseed files
Si lo desea puede incluir otros ficheros de preconfiguración en éste.
Cualquier configuración en estos ficheros modificará los valores
preexistentes de este fichero. Esto permite, por ejemplo, poner la
configuración general de red para su ubicación en un fichero y poner
configuraciones más específicas para algunas configuraciones en otros
ficheros.
# Se puede listar más de un fichero, separado por espacios y se cargarán
# todos. Los ficheros incluidos también pueden tener directivas propias
# de preconfiguración o inclusión. Tenga en cuenta que si los nombres de
# fichero son relativos, éstos se toman del mismo directorio donde se
# ubica el fichero que los incluye.
#d-i preseed/include string x.cfg
# El instalador puede, opcionalmente, verificar las sumas de control
# de los ficheros de preconfiguración antes de utilizarlos. De momento
# sólo se pueden utilizar sumas MD5. Debe listar las sumas MD5 en el
# mismo orden en el que lista los ficheros a incluir.
#d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d
# Esta opción es todavía más flexible: se ejecuta una orden de shell y
# se incluyen nuevos ficheros si ésta imprime los nombres de otrs
# ficheros de preconfiguración.
#d-i preseed/include_command \
# string echo if [ "`hostname`" = bob ]; then echo bob.cfg; fi