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 välittömästi ennen levyosioinnin käynnistämistä.
# Saattaa olla hyödyllistä käyttää mukautuvia levyosioinnin valmiita
# vastauksia jotka ovat riippuvaisia levyjen tilasta (levyt eivät ehkä ole
# näkyvissä kun preseed/early_command suoritetaan).
#d-i partman/early_command
#     string debconf-set partman-auto/disk "$(list-devices disk | head -nl)"
# 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

Oletusarvoa on mahdollista muuttaa valmiilla vastauksella, siten, että kysymys silti esitetään. 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.

Huomaa, että omistajaa d-i tulisi käyttää vain asentimen itsensä käyttämille muuttujille. Kohdejärjestelmään asennettuille paketeille kuuluville muuttujille tulisi käyttää tuon paketin nimeä. Katso alaviitettä Kohta B.2.2, ”Annetaan valmiita vastauksia käynnistysparametreilla”.

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.

For more debugging information, use the boot parameter DEBCONF_DEBUG=5. This will cause debconf to print much more detail about the current settings of each variable and about its progress through each package's installation scripts.

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-määreitä. 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: ajetaan komento komentotulkissa ja jos se
# tulostaa valmiiden vastausten tiedostojen nimiä, liitetään ne.
#d-i preseed/include_command \
#      string if [ "`hostname`" = bob ]; then echo bob.cfg; fi

# Kaikkein joustavin tapa: noudetaan ohjelma ja ajetaan se. Ohjelma
# voi käyttää komentoja kuten debconf-set muokatakseen debconf-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ä.