<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- original version: 22580 -->

<sect1 id="example-preseed">
<title>Ejemplo de fichero de preconfiguración</title>

Este es un ejemplo de un fichero de preconfiguración funcional, para 
efectuar una instalación automatizada. Su uso se explica en
<xref linkend="automatic-install"/>. Tal vez quiera descomentar alguna
de las líneas antes de usarlo.

<informalexample><screen>
#### Modificar syslinux.cfg.

# Edite el fichero syslinux.cfg (o similar) y añada parámetros al final de
# la línea «append» del núcleo.
#
# Por lo menos querrá añadir un parámetro indicando al instalador desde donde
# obtener el fichero de preconfiguración.
# Si está instalando desde un medio USB, use el siguiente parámetro y coloque
# el fichero de preconfiguración en el directorio superior del dispositivo USB.
#   preseed/file=/hd-media/preseed
# En cambio, si está arrancando desde red, use este:
#   preseed/url=http://maquina/ruta/hacia/fichero/preseed
# Si esta remasterizando un CD, podría usar este otro:
#   preseed/file=/cdrom/preseed
# Asegúrese de copiar este fichero a la ubicación que ha especificado.
# 
# Mientras está realizando esto, tal vez quiera cambiar allí el valor a:
# debconf/priority=critical, para evitar la mayoría de preguntas incluso
# si la siguiente preconfiguración excluye alguna.
# También podría definir el tiempo de espera a 1 en syslinux.cfg para
# evitar la necesidad de presionar «enter» para arrancar el instalador.
#
# La selección de idioma, país y teclado no puede ser preconfigurada desde
# un fichero, debido a que estas preguntas son efectuadas antes de que
# el fichero de preconfiguración pueda ser cargado.
# En su lugar, para obviar estas preguntas, pase algunos parámetros más
# al núcleo:
#
#    languagechooser/language-name=Spanish
#    countrychooser/shortlist=ES
#    console-keymaps-at/keymap=es

#### Ó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 vulneración de los valores de un fichero de preconfiguración
# como este. ¡Solamente use ficheros de preconfiguración de fuentes
# confiables! Para lograr gestionar esto, y porque generalmente es útil,
# a continuación ofrecemos una forma de ejecutar cualquier orden de shell
# que desee dentro del instalador, de forma automática.

# La primera orden a ejecutar tan pronto como sea posible, después de que
# el fichero de preconfiguración es leído.
#d-i	preseed/early_command		string wget http://url/a/mi.udeb -O /tmp/mi.udeb ; udpkg -i /tmp/mi.udeb
# Esta 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 for deb in /hd-media/*.deb; do cp $deb /target/tmp; chroot /target dpkg -i /tmp/$(basename $deb); done
# Esta orden se ejecuta tan pronto como se inicie base-config.
#base-config	base-config/early_command	string echo hi mom
# Esta orden se ejecuta después de que se finalice con base-config, y
# antes de presentar el cursor «login:». Esta es una buena forma de
# instalar el conjunto de paquetes que desea, o de modificar la
# configuración del sistema.
#base-config	base-config/late_command	string apt-get install zsh; chsh -s /bin/zsh

#### Configuración de red.

# Obviamente, ¡esto no funcionará si esta cargando su fichero de 
# preconfiguración desde la red!. Pero es fantástico si está arrancando
# desde CD o memoria USB. También puede pasar parámetros de configuración
# de red en los parámetros del núcleo si está cargando el fichero de
# preconfiguración desde la red.

# netcfg elegirá una interfaz que en lo posible tenga conexión. Esto
# hace que se evite mostrar una lista si existe más de una interfaz.
d-i	netcfg/choose_interface select auto

# En caso prefiera configurar la red manualmente, puede hacer lo siguiente:
#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

# Note que cualquier nombre de máquina o dominio asignado desde dhcp
# toma precedencia sobre los valores definidos aquí. Sin embargo, 
# el hacerlo evita que se muestren las preguntas incluso si los 
# valores vienen desde dhcp.
d-i	netcfg/get_hostname	string unassigned-hostname
d-i	netcfg/get_domain	string unassigned-domain

# Deshabilita el molesto cuadro de dialogo de clave WEP
d-i	netcfg/wireless_wep	string 
# El nombre de máquina dhcp que algunos ISPs usan como un tipo de claves.
#d-i	netcfg/dhcp_hostname	string radish

#### Configuración de servidor de réplica

d-i	mirror/country		string enter information manually
d-i	mirror/http/hostname	string http.us.debian.org
d-i	mirror/http/directory	string /debian
d-i	mirror/suite		string testing
d-i	mirror/http/proxy	string 

### Particionado.

# 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
# Alternativamente, puede especificar un disco a particionar. El nombre del
# dispositivo se puede colocar tanto en formato tradicional o en devfs.
# Por ejemplo, para usar el primer disco dvfs:
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 Todos los ficheros en una partición (recomendado para nuevos usuarios)
#d-i	partman-auto/choose_recipe	select Máquina de escritorio
#d-i	partman-auto/choose_recipe	select Estación multiusuario
# O ingrese una receta propia...
# El formato de la receta esta 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 en una línea. Este ejemplo crea una
# partición /boot pequeña, una partición de intercambio y usa el resto
# del espacio para la partición raíz:
#d-i	partman-auto/expert_recipe	string boot-root :: 20 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{ } . 
# Como referencia, esta es la misma receta en un formato mas legible:
# 	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{ }
#	.

# Esto hace que partman particione automáticamente sin confirmación.
d-i	partman/choose_partition	select Finish partitioning and write changes to disk
d-i	partman/confirm			boolean	true

#### Instalación del gestor de arranque.

# GRUB es el gestor de arranque predeterminado (para x86). Si instalar
# lilo en su lugar, descomente esto:
#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
# Esto hace que el «grub-installer» instale en el MBR si también se encuentra 
# otro sistema operativo, lo cual es menos seguro puesto que podría dejar
# sin posibilidad de arrancar al otro sistema operativo.
d-i	grub-installer/with_other_os	boolean true
# Alternativamente, si desea instalar en una ubicación distinta al MBR,
# descomente y edite estas líneas:
#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

##### Final de la primera fase de instalación.

# Evitar el mensaje final sobre la finalización de la instalación.
d-i	prebaseconfig/reboot_in_progress	note 


##### base-config de preconfiguración.
# XXX: Note que la mayoría de las siguientes configuraciónes no funcionarán
# hasta que este disponible base-config 2.40.4

# Evitar el mensaje de bienvenida.
base-config	base-config/intro	note 

# Evitar el mensaje final.
base-config	base-config/login	note 

# Si ha instalado un gestor de ventanas, pero no desea iniciarlo 
# inmediatamente después que finalice base-config.
#base-config	base-config/start-display-manager	boolean false

###### Configuración de zona horaria.

# Controla si el reloj de hardware está definido a GMT o no.
base-config	tzconfig/gmt		boolean true

# Si indica al instalador que se encuentra en los Estados Unidos, entonces
# puede definir la zona horaria usando esta variable.
# (Las opciones son: Eastern, Central, Mountain, Pacific, Alaska, Hawaii,
# Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other)
base-config	tzconfig/choose_country_zone/US	select Eastern
# Si indica que se encuentra en Canada.
# (Las opciones son: Newfoundland, Atlantic, Eastern, Central,
# East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other)
base-config	tzconfig/choose_country_zone/CA	select Eastern
# Si indica que se encuentra en Brasil. (Las opciones son: East, West, Acre,
# DeNoronha, other)
base-config	tzconfig/choose_country_zone/BR	select East
# Muchos países solamente tienen una zona horaria. Si indica al instalador
# que se encuentra en uno de estos, puede elegir su zona horaria estándar
# a través de esta pregunta.
base-config	tzconfig/choose_country_zone_single boolean true
# Esta pregunta se formula como un método de #fallback# para otros países 
# que los mencionados antes, y que tienen más de una zona horaria. Puede 
# preconfigurar una de las zonas horarias o «other».
#base-config	tzconfig/choose_country_zone_multiple select 

###### Configuración de cuenta.

# Para preconfigurar la clave de superusuario (root), debe colocarla en
# texto legible en este fichero. Esta no es una buena idea, ¡usela con
# precaución!
#passwd		passwd/root-password		password r00tme
#passwd		passwd/root-password-again	password r00tme

# Si desea saltar la creación de una cuenta de usuario común.
#passwd		passwd/make-user		boolean false
# Alternativamente, puede preconfigurar el nombre del usuario. Note que
# el nombre de usuario será derivado de éste; actualmente no puede ser
# modificado. El nombre de usuario será (en minúsculas) el primer nombre
# del nombre completo.
#passwd		passwd/user-fullname		string Usuario de Debian
#passwd		passwd/username			string 
# Y su clave, ¡pero uselo con precaución!
#passwd		passwd/user-password		password inseguro
#passwd		passwd/user-password-again	password inseguro

###### Configuración de Apt.

# Esta pregunta controla que fuente usará para obteber paquetes, la 
# segunda fase de la instalación. Las opciones son cdrom, http, ftp, 
# filesystem y editar la lista en forma manual.
base-config	apt-setup/uri_type	select http

# Si elige ftp o http, se le preguntará el país y un servidor de réplica.
base-config	apt-setup/country	select enter information manually
base-config	apt-setup/hostname	string http.us.debian.org
base-config	apt-setup/directory	string /debian
# Parar luego de elegir un servidor de réplica.
base-config	apt-setup/another	boolean false

# Puede elegir instalar software desde «non-free» y «contrib».
#base-config	apt-setup/non-free	boolean true
#base-config	apt-setup/contrib	boolean true

# Habilitar actualizaciones de seguridad.
base-config	apt-setup/security-updates	boolean true

###### Selección de paquetes.

# Puede elegir instalar cualquier combinación de paquetes que este
# disponible. Las tareas disponibles al momento de escribir este fichero
# incluyen: Entorno de escritorio, Servidor web, Servidor de impresión, 
# Servidor DNS, Servidor de ficheros, Servidor de correos, Base de datos,
# Selección manual de paquetes. La última de éstas ejecutará aptitude.
# También puede elegir el no instalar tareas y forzar la instalación de
# un conjunto de paquetes de alguna otra manera.
# XXX: Esto no funcionará hasta que este disponible la versión 2.12 de 
# tasksel este
tasksel		tasksel/first	multiselect Desktop environment
#tasksel	tasksel/first	multiselect Web server, Mail server, DNS server

###### Configuración de agente de correo.

# Durante una instalación común, exim solamente formula dos preguntas.
# Esta es una forma de evitar incluso éstas. Es posible crear una
# preconfiguración más complicada.
exim4-config	exim4/dc_eximconfig_configtype	select no configuration at this time
# Es una buena idea configurar esto a la cuenta que ha elegido crear.
# El dejar el valor en blanco va a significar que el correo de postmaster
# se entregue en /var/mail/mail.
exim4-config	exim4/dc_postmaster		string 

###### Configuración de X.

# La preconfiguración de X en Debian es posible, 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 así,
# vesa funcionará para la mayoría de hardware.
#xserver-xfree86	xserver-xfree86/config/device/driver	select vesa

# Un problema con la autodetección del ratón es que si falla, X 
# reintentará vez tras vez. De modo que si se efectúa la preconfiguración,
# existe la posibilidad de un bucle infinito si no se autodetecta el ratón.
#xserver-xfree86	xserver-xfree86/autodetect_mouse	boolean true

# Se recomienda autodetección de monitor.
xserver-xfree86		xserver-xfree86/autodetect_monitor	boolean true
# Descomente si tiene una pantalla LCD.
#xserver-xfree86	xserver-xfree86/config/monitor/lcd	boolean true
# X tiene tres vías de configuración para el monitor. Esta es la forma
# de preconfigurar la vía «medio», que siempre esta disponible. La vía
# «simple» podría no estar disponible y la vía «avanzada» formula
# muchas preguntas.
xserver-xfree86	xserver-xfree86/config/monitor/selection-method	select medium
xserver-xfree86	xserver-xfree86/config/monitor/mode-list	select 1024x768 @ 60 Hz

###### Todo lo restante.

# 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. También puede preconfigurar éstas, por supuesto.
# Para obtener una lista de cada posible pregunta que podría ser
# formulada durante una instalación, efectúe una instalación y
# ejecute estas ordenes:
#   debconf-get-selections --installer > fichero
#   debconf-get-selections >> fichero

# Si gusta, puede incluir otros ficheros de preconfiguración en éste.
# Cualquier configuración en estos ficheros modificará los valores
# preexistentes de este fichero. Se puede listar más de un fichero,
# separado por espacios, todos éstos serán cargados. Los ficheros 
# incluidos también pueden tener directivas propias de preconfiguración o
# inclusión. Note que si los nombres de fichero son relativos, son 
# tomados del mismo directorio donde se ubica el fichero que los incluye.
#d-i	preseed/include	string x.cfg
# Más flexiblemente, éste ejecuta una orden de shell y si ésta presenta
# como resultado los nombres de los ficheros de preconfiguración, éstos
# se incluyen. Por ejemplo, para alternar configuraciones basadas en
# un dispositivo de almacenamiento usb particular (en este caso, un 
# lector de tarjetas integrado):
#d-i	preseed/include_command	string if $(grep -q "GUID: 0aec3050aec305000001a003"  /proc/scsi/usb-storage-*/*); then echo kraken.cfg; else echo otherusb.cfg; fi
</screen></informalexample>

</sect1>
