B.2. Valmiiden vastausten käyttö

Ensin on valmiit vastaukset sisältävä tiedosto tietenkin tehtävä ja tallennettava se paikkaan josta sitä halutaan käyttää. Tiedoston tekemistä käsitellään jäljempänä tässä liitteessä. Tallentaminen oikeaan paikkaan on varsin suoraviivaista käytettäessä verkkoa tai jos tiedosto halutaan lukea levykkeeltä tai USB-muistilta. Jos tiedosto halutaan tallentaa rompulle, on ISO-otos luotava uudelleen. Tiedoston saaminen mukaan initrd:hen ei kuulu tämän ohjeen piiriin; katso kehittäjän ohjeita Debianin asentimelle.

Valmiiden vastausten tiedostosta on esimerkki http://www.debian.org/releases/etch/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.

Tallennettaessa vastaukset muuanne on asentimelle kerrottava käynnistyksen yhteydessä mitä tiedostoa käytetätään. Tämä tehdään tavallisesti antamalla ytimelle käynnistysparametreja, joko käsin käynnistyksen yhteydessä tai muokkaamalla käynnistyslataimen asetustiedostoa (esim. syslinux.cfg) ja lisäämällä parametri ytimen append-rivin lopppuun.

Jos vastaukset sisältävä tiedosto kerrotaan käynnistyslataimen asetuksissa, halutaan asetuksia ehkä muuttaa siten ettei asenninta tarvitse käynnistää painamalla Enter. Jos käytössä on syslinux asetetaan aikakatkaisun arvoksi 1 tiedostossa 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ä.

Käytettäviä käynnistysparametreja:
- jos käynnistetään verkosta:
  preseed/url=http://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d

- jos käynnistetään uudelleen luotu romppu:
  preseed/file=/cdrom/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

- jos asennetaan USB-muistilta (tallenna valmiiden vastausten tiedosto USB-muistin juurihakemistoon):
  preseed/file=/hd-media/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

Huomaa, että preseed/url voidaan lyhentää url ja preseed/file lyhentää file kun niitä käytetään käynnistysparametreina.

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[19], 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.

Huomaa joillakin 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

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

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

Debianin asentimessa on useita ominaisuuksia, jotka yhdessä käytettynä saavat varsin yksinkertaisilla käynnistyskehotteen komentoriveillä aikaan mielivaltaisin mutkikkaita automatisoituja asennuksia. 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/etch/./preseed.cfg.

Tuon urlin viimeinen osa (d-i/etch/./preseed.cfg) otetaan auto-install/defaultroot:sta. Oletusarvona tähän sisältyy hakemisto etch 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/etch/./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.

Käynnistysnimiötä auto ei vielä ole määritelty kaikille prosessoriperheille. Sama vaikutus saadaan käyttämällä parametreja auto=true priority=critical yhtä aikaa ytimen komentorivillä. auto on lyhennysmerkintä auto-install/enable:lle ja vaikuttaa maa-asetuston ja näppäimistön kysymysten viivästämiseen kunnes niihin on saatu haettua valmiit vastaukset, kun taas priority on lyhennysmerkintä debconf/priority:lle ja sen asettaminen arvoon critical estää kaikkia alhaisemman prioriteetin kysymykset.

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

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 .

auto auto-install/enable
classes auto-install/classes
fb debian-installer/framebuffer
locale debian-installer/locale
priority debconf/priority
tiedosto preseed/file
url preseed/url
interface netcfg/choose_interface
hostname    netcfg/get_hostname
domain netcfg/get_domain
protocol mirror/protocol
suite mirror/suite

B.2.5. 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.



[19] 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.