En primer lugar ha de crear primero el fichero de preconfiguración y ponerlo en la ubicació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 desde una memoria usb. Si desea incluir el fichero en la imagen ISO de instalación, tendrá que rehacer la imagen. La inclusión del fichero de preconfiguración en la imagen de arranque initrd queda fuera del alcance de este documento. Consulte la documentación para desarrolladores de debian-installer
si está interesado.
Tiene un fichero de preconfiguración de ejemplo, que puede utilizar como base para su propio fichero de preconfiguración, en https://www.debian.org/releases/bookworm/example-preseed.txt. Este fichero está basado en fragmentos de configuración incluidos en este apéndice.
Si está utilizando la preconfiguración por imagen de arranque tiene que comprobar que exista un fichero con el nombre de preseed.cfg
en el directorio raíz de la imagen de arranque. El instalador buscará automáticamente este fichero y lo cargará.
Para otros métodos de preconfiguración tiene que decirle al instalador qué fichero utilizar en el inicio. Esto se hace habitualmente dando 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 (p. ej. syslinux.cfg
) y añadiendo el parámetro al final de la/s línea/s para el núcleo .
Si especificas un fichero de preconfiguración en la configuración del cargador de arranque, podrías cambiar la configuración para que no tengas que pulsar «Intro» en el arranque del instalador. Para syslinux esto significa establecer el tiempo de espera a 1
en syslinux.cfg
.
Para asegurarse de que el instalador obtiene el fichero de preconfiguración correcto puede especificar, opcionalmente, una suma de control del fichero. Actualmente, esta debe ser una suma de control MD5 y, si se especifica debe coincidir con el valor que se obtenga del fichero de preconfiguración o el instalador se negará a utilizarlo.
Parámetros de arranque a especificar: - si está arrancando de red: preseed/url=http://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - o preseed/url=tftp://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - si está arrancando de una imagen de instalación remasterizada: preseed/file=/cdrom/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d - si está instalando de un dispositivo USB (ponga el fichero de preconfiguración en el directorio raíz de la memoria USB): preseed/file=/hd-media/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
Tenga en cuenta que puede abreviar preseed/url
a url
, preseed/file
a file
y preseed/file/checksum
a preseed-md5
cuando se introducen como parámetros de arranque.
Puede automatizar la instalación aún cuando no pueda utilizar el archivo de preconfiguración para preconfigurar algunos pasos. Esto es gracias a que se pueden preconfigurar valores en la línea de órdenes cuando se arranca el instalador.
Los parámetros de arranque también se pueden utilizar cuando no quiere realmente preconfigurar sino que sólo quiere dar una respuesta a una pregunta concreta. Algunos de los ejemplos donde esto puede ser útil están documentados en otras partes de este manual.
Para fijar un valor que vaya a utilizar debian-installer
, sólo tiene que pasar
para cualquiera de las variables de preconfiguración que se listan como ejemplos en este apéndice. Si se va a utilizar el valor para preconfigurar paquetes en el sistema destino, deberán estar precedidos por el propietario[18] de la variable como sigue: ruta/a/variable
=valor
. No se copiará el valor de la variable a la base de datos de debconf del sistema destino si no especifica el propietario, por lo que no se utilizará durante la configuración del paquete apropiado. propietario
:ruta/a/variable
=valor
Normalmente, al preconfigurar una pregunta de esta forma la pregunta no se mostrará. Para especificar un valor predeterminado para la pregunta, y que ésta se muestre, use el operando “?=” en lugar de “=”. Consulte Sección B.5.2, “Utilizar la preconfiguración para cambiar valores por omisión”.
Tenga en cuenta que hay una abreviatura para las variables que se utilizan con más frecuencia en el indicador de arranque. Los ejemplos de este apéndice utilizan la abreviatura, si hay una disponible, en lugar de la variable completa. Por ejemplo, se ha abreviado la variable preseed/url
a url
. Otro ejemplo es la abreviatura tasks
que se traduce como tasksel:tasksel/first
.
Un “---” en las opciones de arranque tiene un significado especial. Los parámetros que aparezcan tras el último “---” se pueden copiar a la configuración del cargador de arranque del sistema instalado (si el instalador ofrece compatibilidad con esa opción con el cargador de arranque seleccionado). El instalador filtrará de forma automática cualquier opción (como las opciones de preconfiguración) que reconozca.
Nota | |
---|---|
Los núcleos actuales (2.6.9 y posteriores) aceptan hasta 32 opciones de línea de órdenes y 32 opciones de entornos, incluyendo cualquier opción añadida por defecto para el instalador. Si se exceden estos números el núcleo fallará (se colgará). (Para núcleos anteriores, estas cifras serán más bajas.) |
En la mayoría de las instalaciones se pueden eliminar con seguridad algunas de las opciones del fichero de configuración del cargador de arranque, como por ejemplo vga=normal
, lo que permite añadir más opciones para la preconfiguración.
Nota | |
---|---|
No siempre es posible especificar valores con espacios entre los parámetros de arranque aunque se delimiten con comillas dobles. |
Hay algunas funciones del Instalador de Debian que se combinan para permitir que algunas entradas de línea de órdenes en el indicador del arranque tengan como consecuencia una instalación automática adaptada y de arbitrariedad compleja.
Esto se habilita utilizando la opción de arranque Instalación automatizada
, también llamada auto
en algunas arquitecturas o métodos de arranque. En esta sección, auto
no es por tanto un parámetro, significa la selección de esta opción de arranque y añadiendo los parámetros de arranque indicados al indicador de arranque.
Para mostrar esto aquí tiene algunos ejemplos que se pueden utilizar en el indicador del arranque:
auto url=autoserver
Este valor depende de la existencia de un servidor de DHCP que hará que la máquina llegue al punto donde autoserver
puede resolverse por DNS, quizás después de añadir un dominio local entregado por el servidor de DHCP. Si esto se utilizase en un sitio donde el dominio fuera ejemplo.com
, y tuviese una configuración de DHCP razonablemente correcta, haría que se descargase el fichero de preconfiguración de http://autoserver.example.com/d-i/bookworm/./preseed.cfg
.
La última parte de esa URL (d-i/bookworm/./preseed.cfg
) se toma de auto-install/defaultroot
. Por omisión incluye el directorio bookworm
para que versiones futuras puedan especificar su propio nombre en clave y permitir hacer migraciones de forma controlada. La sección /./
se utiliza para indicar la raíz, relativa a la cual se anclarán las rutas siguientes (que se utilizará en preseed/include y preseed/run). Esto permite que los ficheros se especifiquen o bien como una URL completa, bien como rutas que empiezan con «/» y que están ancladas como se mencionaba, o bien como rutas relativas a la ubicación donde se encontró el último fichero de preconfiguración. Esto puede utilizarse para construir guiones más portables de forma que una jerarquía completa de guiones se pueda mover a una nueva ubicación sin romperla. Por ejemplo, copiando los ficheros a una llave USB cuando antes estaban en un servidor web. En este ejemplo, si el fichero de preconfiguración preseed/run
tiene el valor /scripts/orden_tardia.sh
, el fichero se intentará obtener de http://autoserver.example.com/d-i/bookworm/./scripts/orden_tardia.sh
.
Aún puede utilizar una URL específica si no tiene una infraestructura de DHCP o DNS o si no quiere utilizar la ruta por omisión preseed.cfg
. Si no utiliza el elemento /./
, entonces se anclará al principio de la ruta (esto es, al tercer /
en la URL). A continuación se muestra un ejemplo que requiere poco soporte de la infraestructura de red local:
auto url=http://192.168.1.2/ruta/a/mipreconfiguracion.archivo
Funciona de la siguiente forma:
si la URL no indica un protocolo se presupone que es http,
si la sección del nombre de equipo no tiene puntos se le añade el dominio derivado del DHCP, y
si no hay ningún /
tras el nombre de host se añade la ruta por omisión.
Además de indicar la url, también puede especificar los valores que no afectan directamente al comportamiento de debian-installer
pero que se pueden introducir a los guiones indicados en preseed/run
en el fichero de preconfiguración cargado. De momento, el único ejemplo de esto es auto-install/classes
, que tiene la abreviatura classes
. Puede usarse de la siguiente forma:
auto url=ejemplo.com
classes=clase_A;clase_B
Las clases podrían indicar, por ejemplo, el tipo de sistema a utilizar o la localización a usar.
Por supuesto, se puede extender este concepto y, si lo hace, puede utilizar el espacio de nombres «auto-install» para ello. Así, uno podría tener algo como auto-install/style
que después se utilizará en sus guiones. Si piensa que necesita hacerlo, por favor, comuníquelo a la lista de correo <debian-boot@lists.debian.org>
para intentar evitar conflictos en el espacio de nombres y para quizás añadir una abreviatura al parámetro para usted.
La etiqueta de arranque auto
aún no se ha definido en todas las arquitecturas. Para obtener el mismo efecto basta con añadir dos parámetros a la línea de órdenes del núcleo: auto=true priority=critical
. El parámetro auto
es una abreviatura para auto-install/enable
que estableciéndola como true
controla el tiempo de espera de las preguntas de localización y teclado para que estas se realicen más adelante y se puedan preconfigurar. El parámetro priority
es la abreviatura de debconf/priority
, si se fija a critical
no se hará ninguna pregunta con una prioridad inferior a ésta.
Algunas opciones de interés cuando intenta automatizar una instalación utilizando DHCP son: interface=auto netcfg/dhcp_timeout=60
que hace que el sistema seleccione la primera tarjeta de red disponible y sea un poco más paciente mientras espera una respuesta a su consulta DHCP.
Sugerencia | |
---|---|
Puede encontrar en el sitio web del desarrollador un ejemplo muy largo que muestra cómo usar esta plataforma, el sitio incluye programas y clases de ejemplo. Los ejemplos disponibles en esa ubicación también muestran algunos de los efectos positivos que se pueden conseguir gracias al uso creativo de la preconfiguración. |
Las siguientes abreviaturas pueden ser útiles cuando se utiliza preconfiguración (en modo auto). Tenga en cuenta que son solamente abreviaturas para las preguntas y siempre se deberá especificar un valor para éstas, por ejemplo, auto=true
o interface=eth0
.
priority | debconf/priority |
fb | debian-installer/framebuffer |
auto | auto-install/enable |
classes | auto-install/classes |
file | preseed/file |
url | preseed/url |
theme | debian-installer/theme |
language | debian-installer/language |
country | debian-installer/country |
locale | debian-installer/locale |
keymap | keyboard-configuration/xkb-keymap |
modules | anna/choose_modules |
firmware | hw-detect/firmware-lookup |
interface | netcfg/choose_interface |
domain | netcfg/get_domain |
hostname | netcfg/get_hostname |
protocol | mirror/protocol |
suite | mirror/suite |
recommends | base-installer/install-recommends |
tasks | tasksel:tasksel/first |
Entorno de escritorio («desktop») | tasksel:tasksel/desktop |
preseed-md5 | preseed/file/checksum |
Estos son algunos ejemplos de uso para el indicador de arranque (tendrá que adaptarlo a sus necesidades ).
# Para establecer francés como idioma y Francia como país: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr country=FR --- quiet # Para establecer inglés como idioma, Alemania como país y usar una distribución de teclado en alemán: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet # Para instalar el escritorio MATE: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet # Para instalar la tarea web-server (servidor web): /install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web-server --- quiet
También es posible utilizar DHCP para especificar un fichero de preconfiguración que se debe descargar de la red. El protocolo DHCP permite especificar un fichero. Generalmente, es un fichero para el arranque en red, pero si parece ser una URL, el medio de instalación que permite la preconfiguración vía red descargará un fichero de la URL y lo utilizará como un fichero de preconfiguración. A continuación se muestra un ejemplo de cómo configurar el dhcp.conf de la versión 3 del servidor de DHCP de ISC (el paquete Debian isc-dhcp-server).
if substring (option vendor-class-identifier, 0, 3) = "d-i" { filename "http://servidor/preconfiguracion.cfg"; }
Tenga en cuenta que el ejemplo anterior limita la entrega de este nombre de fichero a clientes DHCP que se identifiquen como “d-i”. De esta forma no se afectará a clientes DHCP normales sino sólo al instalador. También puede poner ese texto en la definición de un sistema específico para evitar preconfigurar todas las instalaciones que se hagan en su red.
Una buena forma de hacer uso de la preconfiguración de DHCP es sólo preconfigurar los valores específicos a su red, como puedan ser la réplica Debian a utilizar. De esta forma todas las instalaciones en su red seleccionarán automáticamente la réplica adecuada, mientras que el resto de la instalación se realizará de forma interactiva. Debe tener cuidado al utilizar la preconfiguración mediante DHCP para automatizar la instalación completa de Debian.
[18] El propietario de una variable debconf (o plantilla) normalmente es el nombre del paquete que contiene la plantilla debconf en cuestión. El propietario es “d-i” para el caso de las variables que se utilizan en el mismo instalador. Las plantillas y las variables pueden tener más de un propietario, lo que ayuda a determinar si se pueden eliminar de la base de datos de debconf si se purga el paquete.