Primer de tot heu de crear un fitxer de configuració prèvia i
posar-lo al lloc des d'on voleu fer-lo servir. La creació de fitxers de
configuració prèvia es tractarà després. Col·locar-los correctament és
fàcil en el cas de la configuració per xarxa o si voleu llegir el fitxer
des d'un disquet o una memòria USB. Si voleu incloure el fitxer a un CD o
un DVD, heu de reconfigurar la imatge ISO. El procediment per incloure el
fitxer a l'initrd no s'explica aquí; consulteu la documentació per als
desenvolupadors del debian-installer
.
Teniu a l'abast un exemple de fitxer de configuració prèvia que podeu emprar com a base per al vostre a ../example-preseed.txt. Aquest fitxer es basa en els fragments de configuració inclosos en aquest apèndix.
Si esteu emprant una configuració prèvia de l'initrd, només heu
d'assegurar-vos que hi haja un fitxer preseed.cfg
inclòs al directori arrel de l'initrd. L'instal·lador comprovarà
automàticament si aquest fitxer és present i el carregarà.
En els altres mètodes de configuració prèvia heu de dir-li a
l'instal·lador el fitxer que s'usarà quan l'arrenqueu. Això es fa
normalment indicant al nucli un paràmetre d'arrencada, bé manualment
en el moment d'arrencar o bé editant el fitxer de configuració del
carregador (p.ex. syslinux.cfg
) i afegint-hi el
paràmetre al final de la (les) línia (línies) addicionals per al nucli.
Si especifiqueu el fitxer a la configuració del carregador, podeu modificar
la configuració prèvia per no haver de prémer enter per arrencar
l'instal·lador. En el syslinux això vol dir ajustar el temps d'espera
(timeout) a 1, a syslinux.cfg
.
Per assegurar-vos que l'instal·lador obté el fitxer de configuració prèvia correcte, podeu especificar-ne una suma de verificació. Actualment ha de ser una md5sum, i si l'especifiqueu ha de correspondre al fitxer, altrament l'instal·lador no voldrà fer-la servir.
Paràmetres d'arrencada que cal especificar: - si esteu arrencant en xarxa: preseed/url=http://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - si esteu arrencant amb un CD reconfigurat: preseed/file=/cdrom/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d - si esteu instal·lant des d'un dispositiu USB (poseu el fitxer al directori principal de la memòria USB): preseed/file=/hd-media/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
Adoneu-vos que preseed/url
pot escurçar-se a tan sols
url
i preseed/file
a
file
quan són passats com a paràmetres d'arrencada.
Si no es pot utilitzar un fitxer de preconfiguració per fer la configuració prèvia per alguns passos, la instal·lació encara es pot automatitzar completament, ja que podeu passar valors de la configuració prèvia a línia d'ordres quan està arrencant l'instal·lador.
També podeu utilitzar els paràmetres d'arrencada si no voleu utilitzar la configuració prèvia, però voleu donar una resposta a una pregunta específica. Hi ha alguns exemples on açò pot ser útil, documentats per tot arreu en aquest manual.
Per donar un valor que s'utilitze dins el debian-installer
, passeu
per qualsevol de les variables que es poden configurar prèviament que
són als exemples en aquest apèndix. Si un valor s'utilitza per configurar
paquets al sistema destí, necessitareu afegir abans el
propietari[28] de la variable com
ruta/a/la/variable
=valor
.
Si no especifiqueu el propietari, el valor de la variable no es copiarà
a la base de dades debconf en el sistema destí i no s'utilitzarà a la
configuració del paquet rellevant.
propietari
:ruta/a/la/variable
=valor
Normalment, la preconfiguració d'una pregunta d'aquesta manera, implicarà que la pregunta no es farà. Per donar un valor específic per a una pregunta, però fer que encara es faça la pregunta, utilitzeu “?=” en comptes de “=” com a operador. Vegeu Secció B.5.2, “Ús de la configuració prèvia per canviar els valors predeterminats”.
Adoneu-vos que algunes variables a les que es dona valors freqüentment
a l'indicador de l'arrencada tenen una forma curta. Si hi ha una forma
curta, s'utilitzarà en els exemples d'aquest apèndix en comptes de la
variable completa. Per exemple, la variable preseed/url
te com a forma curta url
. Un altre exemple és la
forma curta tasks
, que es tradueix a
tasksel:tasksel/first
.
Un “--” a les opcions d'arrencada té un significat especial. Els paràmetres del nucli que apareixen després de l'últim “--” es poden copiar al carregador d'arrencada del sistema instal·lat (si ho suporta l'instal·lador del carregador d'arrencada). L'instal·lador automàticament filtrarà qualsevol opció (com les opcions preconfigurades) que reconegui.
Els nuclis actuals (2.6.9 i posteriors) accepten un màxim de 32 opcions a la la línia d'ordres i 32 opcions d'entorn, que inclou qualsevol opció afegida per defecte per l'instal·lador. Si es superen aquestes quantitats, el nucli farà un «panic» (petarà). (Als nuclis anteriors, aquestes quantitats eren inferiors).
A quasi totes les instal·lacions es poden esborrar amb seguretat algunes
de les opcions per defecte en el fitxer de configuració del carregador
d'arrencada, com vga=normal
, que us permetrà que
afegiu més opcions per la configuració prèvia.
No sempre és possible passar valors amb espais als paràmetres d'arrencada, encara que els delimiteu amb cometes.
Hi ha algunes característiques de l'instal·lador de Debian que combinen la simplicitat de la línia d'ordres de l'indicador d'arrencada per aconseguir unes instal·lacions automàtiques personalitzades arbitràriament complexes. Per il·lustrar-ho, ací teniu alguns exemples que es poden utilitzar a l'indicador de l'arrencada:
auto url=autoserver
Aquesta part dona per suposat que hi ha un servidor DHCP que posarà la
màquina en un punt on el autoserver
es pot resoldre
per DNS, pot ser després d'afegir el domini local si s'ha proporcionat
per DHCP. Si es fa a un lloc on el domini és exemple.com
,
i té una configuració ben pensada, podria donar com a resultat que el
fitxer de configuració prèvia es trobe a
http://autoserver.example.com/d-i/squeeze/./preseed.cfg
.
L'última part de l'adreça (d-i/squeeze/./preseed.cfg
)
s'agafa d'auto-install/defaultroot
. Per defecte açò
inclou el directori squeeze
per que permeti que les
futures versions donen el seu nom codi propi i permeti que la gent migre
d'una forma controlada. El /./
s'utilitza per indicar
un origen al qual les rutes subsegüents es referiran (per utilitzar en
preseed/include i preseed/run). Açò es pot utilitzar per construir uns
guions més portables de forma que una estructura completa de guions es
pugui moure a una nova localització sense trencar-la, per exemple
copiant els fitxers a un llapis USB quan s'inicia des d'un servidor web.
En aquest exemple, si el fitxer de configuració prèvia dona el valor
/scripts/late_command.sh
a
preseed/run
aleshores el fitxer es descarregarà des de
http://autoserver.example.com/d-i/squeeze/./scripts/late_command.sh
.
Si no hi ha cap servidor DHCP o infraestructura DNS, o si no voleu
utilitzar la ruta per defecte a preseed.cfg
, encara
podeu utilitzar una adreça explícita, i si no utilitzeu l'element
/./
es referirà a l'inici de la ruta (es a dir, el
tercer /
a la URL). Ací hi ha un exemple que necessita
d'un suport mínim de la infraestructura local de la xarxa:
auto url=http://192.168.1.2/ruta/al/fitxer.configuració.previa
La forma en que açò funciona és:
Si la URL no conté un protocol, es suposa http,
si la secció hostname no té períodes, té el domini derivat del DHCP afegit, i
si no hi ha cap /
després del hostname, aleshores
s'afegeix la ruta per defecte.
Addicionalment a especificar la url, podeu també donar els paràmetres que
no afecten directament el comportament del debian-installer
, però que es poden
passar a traves dels guions donats utilitzant preseed/run
al fitxer de configuració prèvia carregat.
En aquest moment, l'únic exemple d'aquest és
auto-install/classes
, que, té d'àlies
classes
. Açò es pot utilitzar així:
auto url=example.com
classes=classe_A;classe_B
Les classes podrien per exemple indicar el tipus de sistema al instal·lar, o la localització a utilitzar.
Per suposat, es pot estendre aquest concepte, i si ho feu, és raonable
que s'utilitze l'espai de noms auto-install per fer-ho. Així que hauríeu
de tenir quelcom de l'estil auto-install/style
que
s'utilitza aleshores als vostres guions. Si creieu que necessiteu fer-ho,
d eu-ho a la llista de correu <debian-boot@lists.debian.org>
de forma que ens sigui possible evitar conflictes a l'espai de noms, i
pot ser afegir un àlies del paràmetre per vosaltres.
L'etiqueta d'arrencada auto
no està definida a tots
els llocs. El mateix efecte es pot aconseguir afegint dos
paràmetres auto=true priority=critical
a la línia
d'ordres del nucli. El paràmetre auto
és un àlies
d'auto-install/enable
i establir-lo a
true
posposa les
preguntes del locale i del teclat fins que es tingui oportunitat de
fer la configuració prèvia d'aquestes, mentre priority
és un àlies per debconf/priority
i donant-li el valor
critical
evita que es faci qualsevol pregunta amb una
prioritat més baixa.
Les opcions addicionals que poden interessar mentre s'intenta
automatitzar una instal·lació que faci ús de DHCP són:
interface=auto netcfg/dhcp_timeout=60
que fa que la
màquina agafe el primer NIC i espere a aconseguir una resposta a la seva
petició DHCP.
Podeu trobar un exemple detallat de com utilitzar aquest entorn, incloent scripts i classes d'exemple, a la pàgina del seu desenvolupador. Els exemples disponibles també mostren altres usos del sistema de preconfiguració.
Els àlies que hi ha a continuació poden ser útils quan s'utilitza la
configuració prèvia (mode auto). Adoneu-vos que es tracta d'àlies curts
per a noms de preguntes, i que sempre cal que especifiqueu també un valor:
per exemple, auto=true
o interface=eth0
.
auto | auto-install/enable |
classes | auto-install/classes |
fb | debian-installer/framebuffer |
language | debian-installer/language |
country | debian-installer/country |
locale | debian-installer/locale |
priority | debconf/priority |
file | preseed/file |
url | preseed/url |
interface | netcfg/choose_interface |
hostname | netcfg/get_hostname |
domain | netcfg/get_domain |
protocol | mirror/protocol |
suite | mirror/suite |
També és possible fer servir DHCP per especificar un fitxer de configuració prèvia i descarregar-lo des de la xarxa. Normalment s'indiquen fitxers per a arrencar la màquina per xarxa, però si es tracta d'una URL, aleshores els mitjans d'instal·lació que suporten configuracions prèvies per xarxa es descarregaran el fitxer i l'utilitzaran per a la configuració. A continuació teniu un exemple de com s'ha de configurar el fitxer dhcpd.conf per a la versió 3 del servidor DHCP del ISC (el paquet dhcp3-server a Debian).
if substring (option vendor-class-identifier, 0, 3) = "d-i" { filename "http://host/preseed.cfg"; }
Tingueu en compte que l'exemple anterior limita el fitxer a clients DHCP que s'identifiquin com "d-i", i per tant no afectarà a la resta de clients DHCP. També podeu indicar un text per a una màquina en particular de manera que no afecti a la resta d'instal·lacions de la vostra xarxa.
Una bona manera d'usar la configuració prèvia amb DHCP és fer-ho només per a valors específics de la xarxa, com el servidor rèplica que es vol utilitzar. Així totes les instal·lacions de la xarxa seleccionaran una rèplica adequada automàticament, però la resta de la instal·lació es podrà fer interactivament. Si voleu fer instal·lacions completes amb configuracions prèvies i DHCP haureu d'anar amb més cura.
[28] Normalment, el propietari d'una variable debconf (o una plantilla) és el nom del paquet que conté la plantilla debconf que es correspon a la plantilla debconf corresponent. Les variables utilitzades en l'instal·lador en si mateix tenen com propietari “d-i”. Les plantilles i variables poden tenir més d'un propietari que ajuden a determinar si es poden esborrar de la base de dades debconf quan el paquet s'esborre completament.