B.5. Lisäasetukset

B.5.1. Mielivaltaisten komentojen käynnistämien asennuksen aikana

Valmiiden vastausten vallan mahtava ja joustava ominaisuus on komentojen tai komentotiedostojen suorittaminen tietyissä paikoissa asennuksen aikana.

# valmiiden vastausten käyttö ei ole perusturvallista. Asentimessa 
# ei ole lainkaan tarkistuksia tahallisten puskurin ylivuotojen 
# tai muiden sen kaltaisten arvojan varalle. Käytä valmiiden
# vastausten tiedostoja vain luotettavista lähteistä! Jotta 
# tämä varmasti tulisi selväksi, ja koska tämä on usein hyödyllistä,
# näin voidaan käynnistää mikä tahansa komentotulkin komento 
# automaattisesti asentimesta.

# Tämä ensimmäinen komento suoritetaan mahdollisimman aikaisin, heti
# valmiiden vastausten tiedoston lukemisen jälkeen.
#d-i preseed/early_command string anna-install some-udeb

# Tämä komento suoritetaan juuri ennen asennuksen päättymistä, mutta
# /target hakemiston vielä ollessa kunnossa. /target voidaan käyttää
# suoraan juurihakemistona tai käyttämällä komentoja apt-install ja
# in-target helposti asentaa paketteja ja suorittaa komentoja 
# asennetussa järjestelmässä.
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh

B.5.2. Oletusarvojen muuttaminen valmiilla vastauksilla

On mahdollista muuttaa oletusarvoa valmiilla vastauksella mutta silti esittää kysymys. Tämä tehdään muuttamalla ilmaisimen seen arvoksi “false” sen jälkeen kun vastaus on asetettu.

d-i foo/bar string value
d-i foo/bar seen false

Sama vaikutus kaikille kysymyksille saadaan asetuksella preseed/interactive=true käynnistyskehoitteessa. Tästä voi olla apua myös testattaessa tai jäljitettäessä vikaa valmiiden vastausten tiedostosta. Jos valmiita vastauksia annetaan käynnistysparametreilla, saadaan asennin kysymään vastaava kysymys käyttämällä “?=” -operaattoria, eli foo/bar?=arvo. Tämä vaikuttaa tietenkin vain parametreihin joita vastaa asennuksen aikana esitettävä kysymys, eikä sisäisiin (“internal”) parametreihin.

B.5.3. Valmiiden vastausten tiedostojen lataaminen ketjussa

Valmiiden vastausten tiedostossa on mahdollista ottaa käyttöön muita tiedostoja. Noiden tiedostojen asetukset korvaavat aikaisemmin ladatuissa tiedostoissa olleet vastaavat arvot. Tämä mahdollistaa esimerkiksi yleisten paikallisten verkkoasetusten tallentaminen yhteen tiedostoon ja tarkemmat asetukset tiettyihin kokoonpanoihin toisiin tiedostoihin.

# Luettelossa voi olla useita tiedostoja välilyönneillä eroteltuina;
# ne kaikki ladataan. Liitetyissä tiedostoissa voi olla myös omia 
# preseed/include direktiivejä. Huomaa: jos tiedostonimet ovat suhteellisia,
# ne etsitään samasta hakemistosta kuin liittävä valmiiden vastausten
# tiedosto. 
#d-i preseed/include string x.cfg

# Asennin tarkistaa haluttaessa valmiiden vastausten tiedostojen 
# tarkistussummat ennen tiedostojen käyttöä. Tällä hetkellä vain 
# md5sum on tuettu, luettele md5sum-arvot samassa järjestyksessä
# kuin liitettävien tiedostojen luettelo.
#d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d

# Joustavampi tapa, tässä käynnistetään komentotulkin komento ja jos sen
# tulosteessa on valmiiden vastausten tiedostojen nimiä, ne liitetään.
#d-i preseed/include_command \
#      string echo if [ "`hostname`" = bob ]; then echo bob.cfg; fi

# Kaikkein joustavin tapa on noutaa ohjelma ja käynnistää se. Ohjelma
# voi käyttää komentoja kuten debconf-set muokkaamaan debconfin tietokantaa.
# Komentotiedostoja voi olla useita, välilyönnein eroteltuna.
# Huomaa, että jos  tiedostonimet ovat suhteellisia, ne etsitään samasta 
# hakemistosta kuin ne käynnistävä valmiiden vastausten tiedosto
d-i preseed/run string foo.sh

Mahdollista on myös antaa verkkoasetusten valmiiden vastausten URL initrd:n tai tiedostojen valmiiden vastausten vaiheessa. Tällöin verkkoasetusten valmiit vastaukset käytetään kun verkko tulee käyttöön. Tätä tehtäessä on oltava varovainen, koska valmiita vastauksia käytetään kaksi erillistä kertaa, jolloin on esimerkiksi mahdollista suorittaa preseed/early-komento toiseen kertaan heti kun verkko on käytössä.