B.2. Valmiiden vastausten käyttö

You will first need to create a preconfiguration file and place it in the location from where you want to use it. Creating the preconfiguration file is covered later in this appendix. Putting it in the correct location is fairly straightforward for network preseeding or if you want to read the file off a usb-stick. If you want to include the file in an installation ISO image, you will have to remaster the image. How to get the preconfiguration file included in the initrd is outside the scope of this document; please consult the developers' documentation for debian-installer.

Valmiiden vastausten tiedostosta on esimerkki https://d-i.debian.org/manual/example-preseed.txt jota voi käyttää oman tiedoston pohjana. Tuo tiedosto käyttää tämän liitteen esimerkkeinä olevia asetuksia.

B.2.1. Valmiiden vastausten tiedoston lataaminen

Jos tallennuspaikkana on initrd, riittää varmistaa tiedoston nimeltä preseed.cfg olevan initrd:n juurihakemistossa. Asennin tarkistaa automaattisesti onko tuo tiedosto paikallaan ja lataa sen.

For the other preseeding methods you need to tell the installer what file to use when you boot it. This is normally done by passing the kernel a boot parameter, either manually at boot time or by editing the bootloader configuration file (e.g. syslinux.cfg) and adding the parameter to the end of the append line(s) for the kernel.

If you do specify the preconfiguration file in the bootloader configuration, you might change the configuration so you don't need to hit enter to boot the installer. For syslinux this means setting the timeout to 1 in syslinux.cfg.

Tiedostolle on mahdollista asettaa tarkistussumma varmistamaan asentimen saavan oikean asetustiedoston. Tällä hetkellä tarkistussummman on oltava md5sum, ja jos se annetaan sen on vastattava valmiit vastaukset sisältävää tiedostoa tai asennin jättää tiedoston käyttämättä.

Boot parameters to specify:
- if you're netbooting:
  preseed/url=http://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d
- or
  preseed/url=tftp://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d

- if you're booting a remastered installation image:
  preseed/file=/cdrom/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

- if you're installing from USB media (put the preconfiguration file in the
  toplevel directory of the USB stick):
  preseed/file=/hd-media/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

Note that preseed/url can be shortened to just url, preseed/file to just file and preseed/file/checksum to just preseed-md5 when they are passed as boot parameters.

B.2.2. Annetaan valmiita vastauksia käynnistysparametreilla

Jos valmiiden vastausten tiedostoa ei voi käyttää joidenkin vaiheiden automatisoimiseen, asennus voidaan siitä huolimatta automatisoida täysin, koska valmiit vastaukset voidaan välittää komentorivillä asenninta käynnistettäessä.

Käynnistysparametreja voidaan käyttää myös, jos ei varsinaisesti haluta käyttää valmiita vastauksia, vain antaa vastaus johonkin tiettyyn kysymykseen. Joitakin esimerkkejä tilanteista joissa tämä on hyödyllistä löytyy toisaalta tästä asennusohjeesta.

Debianin asentimessa käytettävän muuttujan arvo asetetaan kirjoittamalla polku/siihen/muuttujaan=arvo mille tahansa tämän liitteen esimerkeissä luetellulle valmiita vastauksia käyttävälle muuttujalle. Jos arvoa käytetään kohdejärjestämän pakettien asetusten tekemiseen, on alkuun lisättävä muuttujan omistaja[22], tähän tapaan: omistaja:polku/siihen/muuttujaan=arvo. Jos omistajaa ei anneta, muuttujan arvoa ei kopioida kohdejärjestelmän debconf-tietokantaan, ja sitä ei niin ollen käytetä tehtäessä paketin asetuksia.

Yleensä valmiiden vastausten antaminen tällä tavalla merkitsee, että kysymystä ei kysytä. Antaaksesi kysymykselle tietyn oletusarvon siten, että kysymys edelleen kysytään, käytä operaattoria ?= normaalin = sijaan. Katso myös Kohta B.5.2, ”Oletusarvojen muuttaminen valmiilla vastauksilla”.

Joillain usein käynnistimen kehotteessa käytetyillä muuttujilla olevan lyhennysmerkintä. Jos lyhennysmerkintä on käytettävissä, sitä käytetään tämän liitteen esimerkeissä pitkän nimen tilalla. Erityisesti muuttujan preseed/url lyhennysmerkintä on url, mukana on myös hieman automaagisuutta mahdollistamaan lyhyempien urlien käyttö. Toinen esimerkki on lyhyt muoto tasks, joka tarkoittaa tasksel:tasksel/first.

--- saa erikoismerkityksen käynnistysparametreissa. Viimeisen --- jälkeen tulevat ytimen parametrit voidaan kopioida asennetun järjestelmän käynnistyslataimen asetuksiin (jos asennin tukee niitä käynnistyslataimelle). Asennin suodattaa automaattisesti pois tunnistamansa parametrit (kuten valmiita vastauksia koskevat).

[Huomaa] Huomaa

Nykyiset linux-ytimet (2.6.9 ja uudemmat) hyväksyvät enintään 32 komentorivin parametria ja 32 ympäristömuutujaa, joihin lasketaan mukaan asentimelle oletusarvona annetut muuttujat. Jos nämä numerot ylitetään, ydin kaatuu (crash). (Aikaisemmilla ytimillä nämä rajat olivat pienemmät.)

Useimmissa asennuksissa voidaan jotkin käynnistyslataimen asetustiedoston valitsimet, kuten vga=normal, turvallisesti poistaa. Näin enemmän parametreja valmiiden vastausten käyttöön.

[Huomaa] Huomaa

Voi olla ettei käynnistyksen parametreille voi aina antaa arvoa jossa on tyhjämerkki, vaikka käytettäisiinkin lainausmerkkejä arvon ympärillä.

B.2.3. Auto mode

There are several features of Debian Installer that combine to allow fairly simple command lines at the boot prompt to result in arbitrarily complex customized automatic installs.

This is enabled by using the Automated install boot choice, also called auto for some architectures or boot methods. In this section, auto is thus not a parameter, it means selecting that boot choice, and appending the following boot parameters on the boot prompt. See Kohta 5.1.7, ”Käynnistysruutu” for information on how to add a boot parameter.

Tämä käy ilmi näistä muutamista esimerkeistä:

auto url=autoserver

Tässä oletetaan käytössä olevan DHCP-palvelin, jonka antamilla asetuksilla asennettava kone saa osoitteen autoserver DNS:ltä, mahdollisesti lisättyään loppuun paikallisen verkkoaluenimen jos DHCP sen kertoi. Jos komento annettiin verkossa, jossa verkkoaluenimi on example.com, ja DHCP:n asetukset ovat kohtuullisen järkevät, noudettaisiin valmiiden vastausten tiedosto osoitteesta http://autoserver.example.com/d-i/bullseye/./preseed.cfg.

Tuon urlin viimeinen osa (d-i/bullseye/./preseed.cfg) otetaan auto-install/defaultroot:sta. Oletusarvona tähän sisältyy hakemisto bullseye jotta tulevat versiot voivat määrittää oman koodinimensä ja päivitys uudempaan versioon sujuu hallitusti. Osa /./ merkitsee juurta josta myöhemmät polkunimet voivat aloittaa (käytettäväksi preseed/include:ssa ja preseed/run:ssa). Tämän avulla tiedostot voidaan määrittää joko kokonaisina URLeina, "/" alkavilla ja sillä ankkuroiduilla polkunimillä tai jopa suhteellisina niminä jotka alkavat viimeisimmän valmiiden vastausten tiedoston sijainnista. Tämän avulla voidaan rakentaa siirrettävämpiä komentotiedostoja, joissa kokonainen komentotiedostojen hierarkia voidaan siirtää uuteen paikkaan sitä rikkomatta, esimerkiksi kopioimalla tiedostot USB-muistille kun ne alunperin olivat webbipalvelimella. Jos tässä esimerkissä valmiiden vastausten tiedostossa asetetaan preseed/run arvoon /scripts/late_command.sh, noudetaan tiedosto osoitteesta http://autoserver.example.com/d-i/bullseye/./scripts/late_command.sh.

Jos ei ole paikallisia DHCP- tai DNS-palvelimia, tai jos et halua käyttää oletuspolkua tiedostoon preseed.cfg, voit silti käyttää eksplisiittistä urlia, ja jos et käytä osaa /./ se ankkuroidaan polun alkuun (ts. URL:n kolmanteen kauttaviivaan /). Seuraava esimerkki edellyttää mahdollisimman vähän tukea paikallisverkolta:

auto url=http://192.168.1.2/polku/omaan/preseed.tiedostooni

Tämä toimii seuraavasti:

  • jos URL:stä puuttuu yhteyskäytäntö, oletetaan http,

  • jos konenimen osuudessa ei ole pisteitä, siihen lisätään DHCP:ltä saatu verkkoaluenimi, ja

  • jos konenimen jälkeen ei tule /-merkkejä, lisätään oletuspolku.

URLin lisäksi voidaan antaa asetuksia jotka eivät sinänsä vaikuta suoraan debianin asentimen toimintaan, mutta jotka voidaan välittää edelleen ladatussa valmiiden vastausten tiedostossa preseed/run -määritteillä annetuille komentotiedostoille. Tällä hetkellä ainoa esimerkki tästä on auto-install/classes, jolla on lyhennysmerkintä classes. Tätä voidaan käyttää näin:

auto url=example.com classes=class_A;class_B

Tässä class voi tarkoittaa esimerkiksi asennettavan järjestelmän tyyppiä tai käytettävää kotoistusta.

Tätä käsitettä voidaan tietenkin laajentaa, ja jos niin tehdään, on järkevää käyttää siihen auto-installin nimiavaruutta. Niinpä voisi olla auto-install/style jota sitten käytetään komentotiedostoissa. Jos on tarvetta tehdä tämmöistä, ole hyvä ja mainitse siitä postituslistalla , jotta vältymme nimien yhteentörmäyksiltä, ja voimme ehkä lisätä lyhennysmerkinnän sinua varten.

The auto boot choice is not yet defined on all arches. The same effect may be achieved by simply adding the two parameters auto=true priority=critical to the kernel command line. The auto kernel parameter is an alias for auto-install/enable and setting it to true delays the locale and keyboard questions until after there has been a chance to preseed them, while priority is an alias for debconf/priority and setting it to critical stops any questions with a lower priority from being asked.

Lisää kiinnostavia parametreja asennuksen automatisointiin DHCP:tä käyttämällä: interface=auto netcfg/dhcp_timeout=60, joka saa tietokoneen käyttämään ensimmäistä kelvollista verkkoliitäntää ja odottamaan kauemmin vastausta DHCP-kyselyyn.

[Vihje] Vihje

Laaja esimerkki valmiiden vastausten käytöstä, mukana komentotiedostoja ja luokkia, löytyy kehittäjän verkkosivulta. Sieltä saatavat esimerkit näyttävät myös muita kivoja toimintoja joita saadaan valmiiden vastausten luovalla käytöllä.

B.2.4. Valmiiden vastausten yhteydessä hyödylliset lyhennysmerkinnät

Seuraavat lyhennysmerkinnät saattavat olla hyödyllisiä käytettäessä (auto mode) valmiita vastauksia. Huomaa näiden olevan vain lyhennysmerkintä kysymyksen nimelle, ja aina on annettava myöskin arvo: esimerkiksi auto=true tai interface=eth0.

priority debconf/priority
fb debian-installer/framebuffer
language debian-installer/language
country debian-installer/country
locale debian-installer/locale
theme debian-installer/theme
auto auto-install/enable
classes auto-install/classes
tiedosto preseed/file
url preseed/url
domain netcfg/get_domain
hostname    netcfg/get_hostname
interface netcfg/choose_interface
protocol mirror/protocol
suite mirror/suite
modules anna/choose_modules
recommends base-installer/install-recommends
tasks tasksel:tasksel/first
desktop tasksel:tasksel/desktop
dmraid disk-detect/dmraid/enable
keymap keyboard-configuration/xkb-keymap
preseed-md5 preseed/file/checksum

B.2.5. Examples of boot prompt preseeding

Here are some examples of how the boot prompt might look like (you will need to adapt this to your needs; also see Kohta 5.1.7, ”Käynnistysruutu”).

# To set French as language and France as country:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr country=FR --- quiet
# To set English as language and Germany as country, and use a German keyboard layout:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet
# To install the MATE desktop:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet
# To install the web-server task:
/install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web-server ---

B.2.6. DHCP-palvelin kertomaan mistä valmiiden vastausten tiedosto löytyy

DHCP:täkin voi käyttää kertomaan mistä päin verkkoa valmiit vastaukset sisältävä tiedosto noudetaan. DHCP sallii tiedoston nimen välittämisen. Tämä on tavallisesti verkkokäynnistyksen tiedosto, mutta jos se näyttäisi olevan URL noutaa verkosta haettavia valmiita vastauksia tukeva asennustaltio tiedoston URL:n avulla ja käyttää sitä valmiiden vastausten tiedostona. Seuraava esimerkki näyttää miten tämä tehdään ISC DHCP -palvelimen version 3 dhcpd.conf-tiedostossa (Debianin paketti dhcp3-server).

if substring (option vendor-class-identifier, 0, 3) = "d-i" {
    filename "http://host/preseed.cfg";
}

Huomaa edeltävän esimerkin tarjoavat tätä tiedostonimeä vain DHCP-asiakkaille jotka ilmoittavat nimekseen d-i, joten tämä ei vaikuta tavallisiin DHCP-asiakkaisiin, vain asentimeen. Toinen tapa on kirjoittaa teksti vain nimetyn koneen tietueeseen jolloin sitä ei taaskaan käytetä kaikkiin verkosta tapahtuviin asennuksiin.

DHCP:tä on hyvä käyttää kertomaan valmiit vastaukset vain verkkokohtaisiin kysymyksiin, kuten käytettävä Debian-asennuspalvelin. Näin verkkoa käyttävät asennukset saavat automaattisesti valittua hyvän asennuspalvelimen, mutta muut asennukset voidaan tehdä vuorovaikutteisesti. DHCP:n käyttö automatisoimaan Debianin asennus kokonaan olisi tehtävä vain harkitusti.



[22] Debconf-muuttujan (tai mallineen) omistaja on tavallisesti sen paketin nimi, johon vastaava debconf-malline kuuluu. Asentimessa itsessään käytettyjen muuttujien omistaja on d-i. Mallineilla ja muuttujilla voi olla useita omistajia, tästä on apua päätettäessä voidaanko ne poistaa debconf-tietokannasta jos paketti poistetaan.