C.1. Exemple de fitxer de configuració prèvia

Aquest és un exemple completament funcional de fitxer de configuració prèvia d'una instal·lació automàtica. Se n'explica l'ús a Secció 4.6, “Instal·lació automàtica”. Potser voldreu treure la marca de comentari a algunes de les línies of the lines abans de fer servir el fitxer.

Nota

Per motius de presentació al manual, en aquest exemple s'han hagut de dividir algunes línies fent servir el caràcter de continuació de línia “\” i, a la línia següent, el sagnat extra. Al fitxer de configuració prèvia real, aquestes línies d'han d'unir en una única línia. Si no ho feu, la configuració prèvia fallarà i es produiran efectes no determinables.

A http://www.debian.org/releases/sarge/example-preseed.txt teniu a l'abast un fitxer “intacte”.

#### Inici.

# Si aneu a emprar un fitxer de configuració prèvia, primer heu d'arrencar
# l'instal·lador, i indicar-li el fitxer que aneu a emprar. Això es fa
# indicant-li al nucli un paràmetre d'arrencada, bé manualment en arrencar
# o bé editant el fitxer syslinux.cfg (o un altre de semblant) i afegint-hi
# el paràmetre al final de les línies addicionals per al nucli.
#
# Si arrenqueu en xarxa, empreu això:
#   preseed/url=http://camí/a/l'ordinador/principal/del/fitxer
# Si esteu reconfigurant-vos un CD, podeu emprar això:
#   preseed/file=/cdrom/fitxer
# Si esteu instal·lant des d'un dispositiu USB, empreu això, i poseu el
# fitxer de configuració al directori principal de la memòria USB.
#   preseed/file=/hd-media/fitxer
# Assegureu-vos de copiar el fitxer al lloc que especifiqueu.
#
# Hi ha parts del procés d'instal·lació que no es poden automatitzar fent
# servir algunes formes de configuració prèvia, car les preguntes es fan
# abans de carregar el fitxer de configuració. Per exemple, si descarregueu
# el fitxer d'una xarxa, cal que aquesta estiga ja configurada. Una raó per
# emprar la configuració prèvia de l'initrd és que permet la configuració
# prèvia de fins i tot aquests passos incials del procés d'instal·lació.
#
# Encara que no es puga emprar un fitxer de configuració prèvia en alguns
# passos, la instal·lació es pot automatitzar del tot, car podeu indicar-li
# al nucli valors de configuració prèvia a la línia d'ordres. Simplement
# indiqueu el camí/a/var=valor per a qualsevol de les variables de
# configuració prèvia enumerades a sota.
#
# Mentre hi estigueu a la línia d'ordres, potser voldreu introduir-hi
# debconf/priority=critical a fi d'evitar la majoria de preguntes fins i
# tot si la configuració prèvia present se'n deixa alguna. I podeu també
# ajustar a 1 el temps d'espera a syslinux.cfg per no haver de prémer enter
# per arrencar l'instal·lador.
#
# Tingueu en compte que el nucli accepta un màxim de 8 opcions de línia
# d'ordres i de 8 opcions d'entorn (incloent-hi qualsevol opció afegida per
# defecte per a l'instal·lador). Si s'excedeixen aquestes xifres, els nuclis
# 2.4 les ignoren, mentre que els 2.6 s'esquallen. A partir del 2.6.9 podeu
# emprar 32 opcions de línia d'ordres i 32 opcions d'entorn.
#
# Algunes de les opcions predeterminades, com 'vga=normal' es poden eliminar
# sense cap problema a la majoria d'instal·lacions, cosa que pot permetre-vos
# afegir més opcions per a la configuració prèvia.

# No es pot fer servir la configuració prèvia per establir ni l'idioma,
# ni el país ni el teclat. Cal emprar paràmetres del nucli. Per exemple:
# languagechooser/language-name=English
# countrychooser/shortlist=US
# console-keymaps-at/keymap=us

#### Configuració de la xarxa.

# Òbviament, no funcionarà si carregueu el fitxer de configuració prèvia des
# de la xarxa! Però va molt bé si esteu arrencant des d'un CD o una memòria
# USB. També podeu indicar-li al nucli els paràmetres de configuració de la
# xarxa si carregueu fitxers de configuració prèvia des de la xarxa.

# Si és possible, el netcfg escollirà una interfície que tinga un enllaç. El
# següent evita que es mostre una llista si hi ha més d'una interfície.
d-i netcfg/choose_interface select auto

# Si teniu un servidor dhcp lent i l'instal·lador finalitza l'espera, això us
# pot ser d'utilitat.
#d-i netcfg/dhcp_timeout string 60

# Si preferiu configurar la xarxa a mà, aquí teniu com:
#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

# Tingueu en compte que qualsevol nom d'ordinador principal i de domini
# assignats amb el dhcp tenen preferència sobre els valors indicats aquí.
# Tanmateix, establir aquests encara evitarà que es mostren qüestions fins i
# tot si els valors provenen del dhcp.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# Per deshabilitar el molest diàleg sobre la clau WEP.
d-i netcfg/wireless_wep string
# El fastigós nom del servidor dhcp que alguns ISP empren com a contrasenya.
#d-i netcfg/dhcp_hostname string radish

#### Configuració del servidor 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

#### Particionat.

# Si el sistema disposa d'espai lliure podeu triar de particionar només aquest.
#d-i partman-auto/init_automatically_partition \
#    seleccioneu Empra l'espai lliure continu més gran

# També podeu especificar el disc que es particionarà. El nom del dispositiu
# es pot indicar bé en el format devfs o bé en el format tradicional. Per
# exemple, per emprar el primer disc que detecta el devfs:
d-i partman-auto/disk string /dev/discs/disc0/disc

# Podeu triar qualsevol de les receptes de particionat predefinides:
d-i partman-auto/choose_recipe select \
     All files in one partition (recommended for new users)
#d-i partman-auto/choose_recipe select Desktop machine
#d-i partman-auto/choose_recipe select Multi-user workstation

# O indicar-ne una pròpia...
# El format de la recepta es descriu al fitxer devel/partman-auto-recipe.txt.
# Si podeu obtenir un fitxer de recepta per a l'entorn de l'instal·lador,
# podeu simplement apuntar-hi.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# Si no, podeu posar una recepta sencera en una línia. Aquest exemple crea
# una petita partició /boot, un espai d'intercanvi adient, i empra la resta
# de l'espai per a la partició arrel:
#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{ } .
# Com a referència, aquí teniu la mateixa recepta en forma més llegible:
#    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{ }
#       .

# Això fa que el partman particione automàticament sense demanar confirmació.
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

#### Instal·lació del carregador.

# El Grub és el carregador predeterminat (per a l'x86). Si voleu instal·lar el
# lilo, tragueu-hi el comentari:
#d-i grub-installer/skip boolean true

# Això, que és segur de fer, fa que el grub s'instal·le automàticament al
# registre principal d'arrencada (MBR) si no es detecta cap altre sistema
# operatiu a la màquina.
d-i grub-installer/only_debian boolean true

# Això altre fa també que l'instal·lador del grub el pose a l'MBR si troba
# qualsevol altre sistema operatiu, la qual cosa és menys segura ja que pot
# no ser possible d'arrencar aquest altre sistema operatiu.
d-i grub-installer/with_other_os boolean true

# Com a alternativa, si voleu instal·lar-lo a un lloc diferent de l'MBR,
# tragueu-ne el comentari i editeu aquestes línies:
#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

#### Finalització de la primera etapa de la instal·lació.

# Evita el darrer missatge de la instal·lació que apareix indicant-ne l'estat
# complet.
d-i prebaseconfig/reboot_in_progress note

#### Ordres de l'intèrpret.

# Necessàriament, la configuració prèvia de l'instal·lador del Debian no pot
# ser segura. No hi ha res que comprove els intents de sobreeiximent de
# memòria intermèdia o d'altres abusos sobre els valors d'un fitxer de
# configuració prèvia com el present. Feu servir només aquests fitxers si
# provenen de llocs de confiança! Per raons de control, i perquè és útil en
# general, aquí teniu una manera d'executar de forma automàtica qualsevol
# ordre de l'intèrpret que vulgueu dins l'instal·lador.

# Aquesta primera ordre s'executa tan prompte com es pot, tot just després
# de llegir el fitxer de configuració prèvia.
#d-i preseed/early_command string anna-install some-udeb

# Aquesta s'executa just abans que finalitze la instal·lació, però quan
# encara es pot usar un directori de destí /target.
#d-i preseed/late_command string echo foo > /target/etc/bar

# Aquesta ordre s'executa en iniciar-se la configuració bàsica (base-config).
#base-config base-config/early_command string echo hi mom

# Aquesta ordre s'executa després de la configuració bàsica, abans de
# l'indicador d'entrada. És una bona manera d'instal·lar un conjunt de
# paquets que us interessen, o de retocar la configuració del sistema.
#base-config base-config/late_command string \
#    apt-get install zsh; chsh -s /bin/zsh

###### Configuració prèvia de la segona etapa de la instal·lació.

#### Configuració prèvia de la configuració bàsica (base-config).

# Per evitar el missatge introductori.
base-config base-config/intro note

# Per evitar el missatge final.
base-config base-config/login note

# Per si heu instal·lat un gestor de visualització però no voleu engegar-lo
# immediatament després de la configuració bàsica.
#base-config base-config/start-display-manager boolean false

# Algunes versions de l'instal·lador poden emetre un informe del que heu
# instal·lat. Per defecte, no es fan informes, però enviar-n'hi ajuda el
# projecte a determinar quin programari s'empra més, a fi d'incloure'l als CD.
#popularity-contest popularity-contest/participate boolean false

#### Configuració del rellotge i de la zona horària.

# Per controlar si el rellotge del maquinari s'ajusta al temps universal
# coordinat (UTC).
#base-config tzconfig/gmt boolean true
# Si li heu dit a l'instal·lador que sou als EUA, podeu ajustar la zona
# horària fent servir aquesta variable. (Les opcions són: 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 li heu dit que sou al Canadà. (Les opcions són: Newfoundland, Atlantic,
# Eastern, Central, East-Saskatchewan, Saskatchewan, Mountain, Pacific,
# Yukon, altres)
#base-config tzconfig/choose_country_zone/CA select Eastern
# Si li heu dit que sou al Brazil. (Les opcions són: East, West, Acre,
# DeNoronha, altres)
#base-config tzconfig/choose_country_zone/BR select East
# Molts països tenen només una zona horària. Si li heu dit a l'instal·lador
# que sou a algun d'aquests, podeu triar-ne la zona horària estàndard
# mitjançant aquesta pregunta.
#base-config tzconfig/choose_country_zone_single boolean true
# Aquesta pregunta es fa com a recurs alternatiu per a països diferents dels
# enumerats abans, els quals tenen més d'una zona horària. Podeu configurar
# prèviament una de les zones horàries, o una altra («other»).
#base-config tzconfig/choose_country_zone_multiple select

#### Configuració prèvia de comptes.

# Per fer una configuració prèvia de la contrasenya de superusuari, cal que
# la indiqueu explícitament en aquest fitxer. Això no és bona idea, sigueu-ne
# conscients!
#passwd passwd/root-password password r00tme
#passwd passwd/root-password-again password r00tme

# Per ometre la creació d'un compte d'usuari normal.
#passwd passwd/make-user boolean false

# Per configurar prèviament el nom d'usuari complet i el que tindrà al sistema.
#passwd passwd/user-fullname string Debian User
#passwd passwd/username string debian
# I la contrasenya, però empreu això amb molta precaució!
#passwd passwd/user-password password insecure
#passwd passwd/user-password-again password insecure

#### Configuració de l'apt.

# Amb això es controla quina font de paquets es fa servir en la segona fase
# de la instal·lació. Les opcions són: cdrom, http, ftp, filesystem (sistema
# de fitxers), edit sources list by hand (edició manual de la llista de fonts)
base-config apt-setup/uri_type select http

# Si escolliu ftp o http, se us demanarà un país i un servidor 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
# Perquè s'ature després d'escollir el servidor rèplica.
base-config apt-setup/another boolean false

# Podeu instal·lar programari no lliure (non-free) i de contribució (contrib).
#base-config apt-setup/non-free boolean true
#base-config apt-setup/contrib boolean true

# Per habilitar actualitzacions de seguretat.
base-config apt-setup/security-updates boolean true

#### Selecció de paquets.

# Podeu instal·lar qualsevol combinació de tasques que hi haja a l'abast.
# En aquest moment les tasques que hi ha són: Entorn d'escriptori (Desktop
# environment), Servidor web (Web server), Servidor d'impressió (Print server),
# Servidor DNS (DNS server), Servidor de fitxers (File server), Servidor de
# correu (Mail server), Base de dades SQL (SQL database), Portàtil (Laptop),
# Sistema estàndard (Standard system), Selecció manual de paquets (manual
# package selection). La darrera executarà l'aptitude. Podeu també no
# instal·lar cap tasca i forçar la instal·lació d'un conjunt de paquets
# d'alguna altra manera. És recomanable incloure sempre la tasca Sistema
# estàndard.
tasksel tasksel/first multiselect Desktop environment, Standard system
#tasksel tasksel/first multiselect Web server, Standard system

#### Configuració de l'administrador de correu.

# Durant una instal·lació normal, l'exim sols fa unes poques preguntes. Aquí
# teniu la manera d'evitar fins i tot aquestes. Però encara es pot configurar
# de manera més complexa.
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

# És bona idea ajustar el següent a qualsevol dels comptes d'usuari que hàgeu
# creat. Si ho deixeu en blanc, el correu de l'administrador de correu anirà a
# /var/mail/mail.
exim4-config exim4/dc_postmaster string

#### Configuració de l'X.

# Es pot fer una configuració prèvia de l'X, però probablement us caldrà saber
# alguns detalls sobre el maquinari de vídeo, car el configurador de l'X
# no ho configura tot automàticament.

# L'X pot detectar el controlador adient per a algunes targetes, però si
# empreu una configuració prèvia, substituireu tot el que aquell seleccione.
# Amb tot, el controlador vesa funcionarà la majoria de vegades.
#xserver-xfree86 xserver-xfree86/config/device/driver select vesa

# Un problema amb l'detecció automàtica del ratolí és que si falla, l'X la
# tornarà intentar indefinidament. Per tant, si l'heu inclosa en la
# configuració prèvia, hi ha la possibilitat de caure en un bucle infinit,
# si falla la detecció.
#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true

# Es recomana fer servir la detecció automàtica del monitor.
xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
# Tragueu el comentari a això si teniu una pantalla LCD.
#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
# L'X té tres maneres de configurar el monitor. Aquí teniu com configurar
# prèviament la «intermèdia» (medium), que sempre és a l'abast. La «simple»
# pot no ser-hi, i l' «avançada» (advanced) fa massa preguntes.
xserver-xfree86 xserver-xfree86/config/monitor/selection-method \
    select medium
xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
    select 1024x768 @ 60 Hz

#### Altres qüestions.

# Segons el programari instal·lat, o si les coses van malament durant el
# procés d'instal·lació, és possible rebre preguntes sobre altres qüestions.
# També podeu fer-ne una configuració prèvia. Per obtenir una llista de totes
# les preguntes que es poden fer durant la instal·lació, feu una instal·lació,
# i després executeu aquestes ordres:
#   debconf-get-selections --installer > file
#   debconf-get-selections >> file

# Si voleu, podeu incloure altres fitxers de configuració prèvia en aquest.
# Qualsevol ajust d'aquests fitxers prevaldrà sobre els del fitxer present.
# Es pot incloure més d'un fitxer, separat per espais; es carregaran tots.
# Els fitxers inclosos poden tenir directrius de configuració prèvia pròpies o
# bé incloure fitxers amb d'altres. Tingueu en compte que si els noms de fitxer
# són relatius, s'agafen del mateix directori que el del fitxer que els inclou.
#d-i preseed/include string x.cfg

# Més flexible que això és el següent, que executa una ordre a l'intèpret i,
# si s'obté cap nom d'un fitxer de configuració prèvia, s'hi inclou. Per
# exemple, per activar les configuracions basades en un determinat dispositiu
# USB d'emmagatzematge (en aquest cas, un lector incorporat de targetes):
#d-i preseed/include_command string \
#    if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \
#    then echo kraken.cfg; else echo otherusb.cfg; fi

# Per configurar el format d'un fitxer de configuració prèvia abans d'efectuar
# la instal·lació, podeu fer servir les debconf-set-selections:
#   debconf-set-selections -c preseed.cfg