B.4. Valmiiden vastausten tiedoston sisältö

Tässä liitteessä käytetyt asetustiedostojen osat ovat saatavilla myös esimerkkiasetustiedostona http://www.debian.org/releases/etch/example-preseed.txt.

Huomaa tämän esimerkin olevan tarkoitettu Intel x86-arkkitehtuurille tapahtuvaan asennukseen. Jos asennetaan jollekin muulle arkkitehtuurille, jotkin esimerkeistä (kuten näppäimistön valinta ja käynnistyslataimen asennus) eivät ehkä ole mielekkäitä ja ne on korvattava arkkitehtuurikohtaisilla debconfin asetuksilla.

B.4.1. Kotoistus

Valmiit vastaukset kotoistukseen toimivat vain jos vastausten tallennuspaikka on initrd. Muista tallennuspaikoista tiedosto ladataan vasta kun kysymykset on jo esitetty.

Lokaalin avulla voidaan määrätä sekä kieli että maa. Lokaali annetaan käynnistysparametrina kirjoittamalla locale=fi_FI.

# Lokaali määrittää kielen ja maan.
d-i debian-installer/locale string fi_FI

Näppämistön asetuksissa valitaan näppäimistön arkkitehtuuri ja asettelu. Useimmissa tapauksissa oikea näppäimistön arkkitehtuuri on oletusarvona, joten se ei tavallisesti tarvitse valmista vastausta. Näppäinasettelun on oltava kelvollinen valitulle näppäimistön arkkitehtuurille.

# Näppäimistön valinta.
#d-i console-tools/archs select at
d-i console-keymaps-at/keymap select us
# Esimerkki muusta näppäimistön arkkitehtuurista
#d-i console-keymaps-usb/keymap select mac-usb-us

Näppäimistön asetukset ohitetaan antamalla kysymykseen console-tools/archs valmis vastaus skip-config. Tällöin ytimen näppäinasettelu jää käyttöön.

Huomaa

2.6-ytimien syötetason muutoksien seurauksena näppäinarkkitehtuuri on melkein poistunut käytöstä. 2.6-ytimille olisi tavallisesti valittava näppäinasetteluksi “PC” (at).

B.4.2. Verkkoasetukset

Valmiit vastaukset verkkoasetuksiin ei tietystikään toimi jos valmiiden vastausten tiedosto noudetaan verkosta. Mutta rompulta tai USB-muistilta käynnistettäessä lataaminen on tosi näppärää. Noudettaessa valmiiden vastausten tiedostot verkosta, voidaan verkon asetukset antaa ytimen käynnistysparametreina.

Mikäli verkosta käynnistettäessä on valittava tietty verkkoliitäntä ennen valmiiden vastausten tiedoston noutamista verkosta, käytetään käynnistysparametria kuten interface=eth1.

Vaikkakaan valmiit vastaukset verkon asetuksiin ei tavallisesti ole mahdollista noudettaessa valmiiden vastausten tiedosto verkosta (käytettäessä “preseed/url”), voidaan seuraavalla kikalla kiertää tämä rajoitus vaikkapa haluttaessa antaa kiinteä osoite verkkoliitännälle. Kikkailu tapahtuu pakottamalla verkon asetukset tehtäväksi uudelleen kun valmiiden vastausten tiedosto on ladattu tekemällä “preseed/run” -komentotiedosto jossa on seuraavat rivit:

killall.sh dhclient
netcfg

# netcfg valitsee liitännän jossa linkkivalo palaa, mikäli mahdollista.
# Tällöin ohitetaan luettelon näyttäminen jos liitäntöjä on 
# enemmmän kuin yksi.
d-i netcfg/choose_interface select auto

# Valitaankin tietty liitäntä:
#d-i netcfg/choose_interface select eth1

# Jos DHCP-palvelin on hidas ja asennin tekee aikakatkaisun sitä
# odotellessaan, tämä voi olla hyödyllistä.
#d-i netcfg/dhcp_timeout string 60

# Jos mielluummin tekee verkon asetukset itse, poistetaan kommenttimerkit
# seur. rivistä ja muutaman rivin päästä olevissa kiinteiden
# verkkoasetusten riveistä.
#d-i netcfg/disable_dhcp boolean true

# Jos valmiiden vastausten tiedoston on toimittava sekä DHCP-palvelimen
# kanssa että ilman, poistetaan kommenttimerkki seur. riveistä ja
# kiinteiden verkkoasetusten riveistä.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Configure network manually

# Kiinteät verkkoasetukset.
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/confirm_static boolean true

# DHCP-palvelimelta saadut konenimi ja verkkoaluenimi ovat etusijalla,
# mutta näiden arvojen antaminen estää kysymysten esittämisen,
# vaikkakin käytetään DHCP:n antamia arvoja.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# Ota inha WEP-avaimen valintaikkuna pois käytöstä.
d-i netcfg/wireless_wep string
# Pälli dhcp konenimi, joillain palveluntarjoajilla salasanan tapaisena.
#d-i netcfg/dhcp_hostname string radish

B.4.3. Asennuspalvelimen asetukset

Käytettävästä asennustavasta riippuen asennuspalvelimelta voidaan noutaa lisää asentimen osia, asentaa peruskokoonpano ja tehdä tiedosto /etc/apt/sources.list asennettavaan järjestelmään.

Parametri mirror/suite kertoo mitä julkaisua käytetään asennuksessa.

Parametri mirror/udeb/suite kertoo mistä julkaisusta asentimen lisäosat noudetaan. Tästä parametrista on hyötyä vain jos osat tosiaan noudetaan verkosta ja sen on vastattava käytetyn asennustavan initrd:n tekemisessä käytettyä julkaisua. Oletusarvona mirror/udeb/suite on sama kuin mirror/suite.

# Jos valitaan ftp, ei merkkijonolle mirror/country tarvitse antaa arvoa.
#d-i mirror/protocol string ftp
d-i mirror/country string enter information manually
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# Asennettava julkaisu
#d-i mirror/suite string testing
# Julkaisu josta asentimen lisäosat noudetaan (valinnainen).
#d-i mirror/udeb/suite string testing

B.4.4. Osiointi

Valmiiden vastausten käyttämistä levyn osioinnissa rajoittaa se, mitä partman-auto tukee. Voidaan osioida joko levyllä jo oleva vapaa tila tai koko levy. Osioiden asettelu levyllä voidaan määrätä käyttämällä valmista mallinetta, muokattua mallinetta mallinetiedostosta tai valmiiden vastausten tiedostoon tallennettua mallinetta. Tällä hetkellä ei ole mahdollista käyttää valmiita vastauksia useiden levyjen osioimiseen.

Varoitus

Levylaitteiden ajurien lataamisjärjestys vaikuttaa levyjen nimeämiseen. Jos järjestelmässä on useinta kiintolevyjä, varmistu huolellisesti oikean levyn tulevan valituksi valmiita vastauksia käytettäessä.

# Jos järjestelmässä on vapaata tilaa voidaan valita osioitavaksi vain
# tuo tila. Huomaa: valmiissa vastauksissa on käytettävä kotoistettua
# (eli suomennettua) arvoa.
#d-i partman-auto/init_automatically_partition \
#      select Ohjattu - käytä suurinta yhtenäistä vapaata tilaa

# Toinen tapa on määrätä mikä levy osioidaan. Laitenimi voidaan antaa 
# joko devfs- tai perinteisessä ei-devfs-muodossa.
# Esimerkiksi haluttaessa käyttää ensimmäistä levyä:
d-i partman-auto/disk string /dev/discs/disc0/disc
# Lisäksi on määritettävä mitä osiointitapaa käytetään.
# Tällä hetkellä käytettävissä on tavat: "regular", "lvm" ja "crypto"
d-i partman-auto/method string lvm

# Jos yhdellä automaattisesti osioitavista levyistä on vanha LVM-asennus,
# saa käyttäjä tavallisesti varoituksen. Tämä varoitus voidaan 
# valmiilla vastauksella poistaa...
d-i partman-auto/purge_lvm_from_device boolean true
# Sama juttu kysymykselle vahvistuksesta LVM-osoiden kirjoittamisesta.
d-i partman-lvm/confirm boolean true

# Voidaan valita mikä tahansa tallennetuista osiointimallineista.
# Huomaa: valmiissa vastauksissa on käytettävä kotoistettua arvoa.
d-i partman-auto/choose_recipe \
       select Vain yksi levyosio (suositellaan uusille käyttäjille)
#d-i partman-auto/choose_recipe \
#       select Erillinen /home -osio
#d-i partman-auto/choose_recipe \
#       select Erilliset /home, /usr, /var, ja /tmp -levyosiot

# Tai annetaan oma malline...
# Mallineen muoto on kuvattu tiedostossa devel/partman-auto-recipe.txt.
# Jos mallinetiedoston saa asentimen ympäristöön, siihen voidaan 
# viitata suoraan.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# Jos ei, koko malline voidaan tallentaa valmiiden vastausten tiedostoon
# yhtenä (loogisena) rivinä. Tämä esimerkki tekee pienen /boot-osion, 
# sopivan sivutusosion, ja käyttää lopun tilan juuriosiolle:
#d-i partman-auto/expert_recipe string                         \
#      boot-root ::                                            \
#              40 50 100 ext3                                  \
#                      $primary{ } $bootable{ }                \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ /boot }                     \
#              .                                               \
#              500 10000 1000000000 ext3                       \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ / }                         \
#              .                                               \
#              64 512 300% linux-swap                          \
#                      method{ swap } format{ }                \
#              .

# Tämä saa partman-moduulin tekemään osiot automaattisesti kyselemättä
# varmistuksia.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
       select Lopeta osioiden teko ja tallenna muutokset levylle
d-i partman/confirm boolean true

B.4.5. Osiointi käyttäen RAIDia

Valmiilla vastauksilla voidaan tehdä osiot myös ohjelmallisesti toteutettuihin RAID-pakkoihin. Tuettuja ovat RAID-tasot 0, 1 ja 5, vajaiden pakkojen luominen ja varalevyjen määrittely. Käytettäessä RAID tasoa 1, voidaan valmiilla vastauksilla saada grub asentumaan kaikille pakassa käytetyille laitteille; katso Kohta B.4.10, “Käynnistyslataimen asennus”.

Varoitus

Tämänkaltaisen automaattisen osioinnin kanssa tekee helposti virheitä. Se on myöskin hyvin uusi osa, jossa saattaa vielä olla vikoja tai puutteita virhetilanteiden käsittelyssä. Vastuu mallineiden oikeellisuudesta (ovat järkeviä eivätkä sisällä ristiriitoja) on käyttäjällä. Tarkista lokitiedosto /var/log/syslog jos pulmia ilmenee.

Huomaa, että osan tekijät ovat testanneet vain RAID tasot 0 ja 1. RAID 5 on testaamatta. Edistyneemmä asetukset joissa on vajaita pakkoja tai varalaitteita on testattu vain hieman.

# HUOMIO: tämä valinta on laadultaan testiversio ja käytettävä varoen

# Mallineeksi olisi valittava "raid".
#d-i partman-auto/method string raid
# Määritä osioitavat levyt. Niihin tulee kaikkin sama osiointi,
# joten tämä toimii vain jos levyt ovat samankokoisia.
#d-i partman-auto/disk string /dev/discs/disc0/disc /dev/discs/disc1/disc

# Seuraavaksi on määritettävä käytettävä fyysinen osiointi.
#d-i partman-auto/expert_recipe string \
#      multiraid ::                                         \
#              1000 5000 4000 raid                          \
#                      $primary{ } method{ raid }           \
#              .                                            \
#              64 512 300% raid                             \
#                      method{ raid }                       \
#              .                                            \
#              500 10000 1000000000 raid                    \
#                      method{ raid }                       \
#              .

# Lopuksi on määritettävä kuinka yllä määriteltyjä osioita käytetään
# RAID-pakassa. Muista käyttää oikeita osioiden numeroita loogisille
# osioille.
# Parametrit ovat:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
#          <devices> <sparedevices>
# RAID tasot 0, 1 ja 5 on tuettu; laitteiden erottimena on "#"
#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                                           \
#          /dev/discs/disc0/part1#/dev/discs/disc1/part1    \
#    .                                                      \
#    1 2 0 swap -                                           \
#          /dev/discs/disc0/part5#/dev/discs/disc1/part5    \
#    .                                                      \
#    0 2 0 ext3 /home                                       \
#          /dev/discs/disc0/part6#/dev/discs/disc1/part6    \
#    .

# Tämä saa partmanin tekemään osiot automaattisesti kysymättä vahvistusta.
d-i partman-md/confirm boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
       select Lopeta osioiden teko ja tallenna muutokset levylle
d-i partman/confirm boolean true

B.4.6. Kellon ja aikavyöhykkeen asetukset

# Määrittää onko laitekello maailmanajassa vai paikallisessa ajassa.
d-i clock-setup/utc boolean true

# Tämä voivaan asettaa mihin tahansa kelvolliseen ympäristömuuttujan
# $TZ arvoon; kelvolliset arvot löytyvät hakemistosta /usr/share/zoneinfo/.
d-i time/zone string Europe/Helsinki

B.4.7. Apt:n asetukset

Tiedoston /etc/apt/sources.list teko ja perusasetukset on täysin automatisoitu asennustavan ja aiempien kysymysten vastausten perusteella. Muiden (paikallisten) varastoalueiden lisääminen on valinnaista.

# non-free ja contrib -osaston ohjelmia voidaan valita asennettaviksi
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Poista kommentit jos et halua käyttää asennuspalvelimen kopiota.
#d-i apt-setup/use_mirror boolean false
# Poista kommentit jättääksesi tietoturvapäivitysten varastoalueen pois tai
# lisää konenimi jos halutaan käyttää jotain muuta kuin security.debian.org.
#d-i apt-setup/security_host string

# Lisää varastoalueita, local[0-9] käytettävissä
#d-i apt-setup/local0/repository string \\
#       deb http://local.server/debian stable main
#d-i apt-setup/local0/comment string local server
# Ota käyttöön deb-src-rivit
#d-i apt-setup/local0/source boolean true
# varastoalueen julkisen avaimen ULR; avaimen on oltava käytettävissä
# tai apt valittaa tunnistamattomasta varastoalueesta ja tiedoston
# sources.list rivi jää kommentoiduksi pois
#d-i apt-setup/local0/key string http://local.server/key
# Oletusarvona asennin vaatii varastoalueiden autentikointia tunnetulla
# gpg-avaimella. Tällä asetuksella tuo autentikoitin saadaan pois päältä.
# Varoitus: ei turvallinen, ei suositella.
#d-i debian-installer/allow_unauthenticated string true

B.4.8. Käyttäjätunnusten luonti

Pääkäyttäjän tunnuksen root salasana ja ensimmäisen tavallisen käyttäjän tunnus ja salasana voidaan antaa valmiissa vastauksissa. Salasanalle voidaan käyttää joko ilmitekstiä tai MD5 tiivistettä (hash).

Varoitus

On hyvä tietää ettei valmiiden vastausten käyttäminen salasanoille ole täysin tietoturvallista, koska jokainen vastaukset sisältävän tiedoston lukija saa ne tietää. MD5-tiivisteiden käyttö parantaa turvallisuutta hieman, mutta saattaa myös tuudittaa liialliseen turvallisuuden tunteeseen koska MD5-tiivisteen tietämällä voi salasanoja murtaa kokeilemalla kaikki mahdollisuudet.

# Ohita pääkäyttäjän tunnuksen luominen (tavallinen käyttäjätunnus
# voi käyttää sudo:a).
#d-i passwd/root-login boolean false
# Tai ohita tavallisen käyttäjän tunnuksen luominen.
#d-i passwd/make-user boolean false

# Pääkäyttäjän salasana, joko ilmitekstinä
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# tai salattuna ja MD5-tiiviste.
#d-i passwd/root-password-crypted password [MD5 hash]

# Luodaan tavallisen käyttäjän tunnus.
#d-i passwd/user-fullname string Debian User
#d-i passwd/username string debian
# Tavallisen käyttäjän salasana, joko ilmitekstinä
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
# tai salattuna ja MD5-tiiviste.
#d-i passwd/user-password-crypted password [MD5 hash]

Muuttujille passwd/root-password-crypted ja passwd/user-password-crypted voidaan antaa valmis vastaus myös “!” arvona. Tällöin vastaavan käyttäjätunnuksen käyttö on estetty. Tämä voi olla kätevää pääkäyttäjän tunnukselle, tietenkin vain jos on tehty muu tapa tehdä pääkäyttäjä tehtävät tai kirjautua pääkäyttäjänä (esimerkiksi tunnistautua SSH-avaimilla tai komento sudo).

Salasanan MD5-tiiviste saadaan tehtyä seuraavalla komennolla.

$ echo "r00tme" | mkpasswd -s -H MD5

B.4.9. Perusjärjestelmän asennus

Tässä asennuksen vaiheessa ei oikeastaan ole kovinkaan paljoa mahdollista käyttää valmiita vastauksia. Ainoat kysymykset koskevat ytimen asentamista.

# Valitaan  initramfs:n tekevä ohjelma jolla initrd tehdään 2.6-ytimille.
#d-i base-installer/kernel/linux/initramfs-generators string yaird

B.4.10. Käynnistyslataimen asennus

# Grub on oletus käynnistyslataimeksi (arkkitehtuurille x86). Jos sen
# tilalle halutaan lilo, poistetaan tästä kommentit:
#d-i grub-installer/skip boolean true

# Tämä on melko turvallinen asetus, eli grub asentuu automaattisesti
# MBR:ään jos koneesta ei löydy muita käyttöjärjestelmiä.
d-i grub-installer/only_debian boolean true

# Tämä saa grub-instellerin asentamaan MBR:ään jos se löytää jonkin muunkin
# käyttöjärjestelmä. Epävarmaa, koska se ei ehkä osaa käynnistää sitä.
d-i grub-installer/with_other_os boolean true

# Jos halutaan asentaa muualle kuin mbr:ään, poistetaan kommentti ja muokataan
# näitä rivejä:
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
#d-i grub-installer/bootdev  string (hd0,0)
# Asennetaan grub usealle levylle
#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)

B.4.11. Pakettien valinta

Asennettavaksi voidaan valita mitkä tahansa saatavilla olevista tehtävistä. Tätä kirjoitettaessa saatavilla olevia tehtäviä ovat ainakin:

  • standard

  • desktop

  • gnome-desktop

  • kde-desktop

  • web-server

  • print-server

  • dns-server

  • file-server

  • mail-server

  • sql-database

  • laptop

Voidaan myös jättää kaikki tehtävät valitsematta, ja pakotetaan halutun pakettijoukon asennus muilla tavoin. Suositellaan aina valittavaksi tehtävä standard.

Jos tehtävien asentamien pakettien lisäksi halutaan asentaa yksittäisiä paketteja, voidaan käyttää parametria pkgsel/include. Tämän parametrin arvona voi olla luettelo paketteja eroteltuna joko pilkuin tai välilyönnein, joten sitä on helppo käyttää ytimen käynnistysparametrinakin.

tasksel tasksel/first multiselect standard, desktop
#tasksel tasksel/first multiselect standard, web-server
#tasksel tasksel/first multiselect standard, kde-desktop

# Asennetaan yksittäisiä lisäpaketteja
#d-i pkgsel/include string openssh-server build-essential

# Jotkin asentimen versiot voivat kertoa mitä ohjelmia on asennettuna,
# ja mitä ohjelmia käytetään. Oletusarvo on ettei raporttia lähetetä,
# mutta raporttien lähettäminen auttaa Debian-projektia tietämään
# suosituimmat ohjelmat ja kokoamaan ne rompuille.
#popularity-contest popularity-contest/participate boolean false

B.4.12. Asennuksen ensimmäisen osan lopetus

# Vältetään viimeinen viesti asennuksen valmistumisesta.
d-i finish-install/reboot_in_progress note

# Tämä estää asenninta poistamasta romppua asemasta uudelleenkäynnistettäessä,
# mikä on hyödyllistä joissakin tilanteissa.
#d-i cdrom-detect/eject boolean false

B.4.13. X:n asetukset

Debianin X:n asetuksille on mahdollista antaa valmiit vastaukset, mutta luultavasti on tiedettävä muutamia yksityiskohtia tietokoneen näytönohjaimesta, koska Debianin X:n asetukset tekevä ohjelma ei tee kaikkia asetuksia täysin automaattisesti.

# X osaa löytää oikean ajurin joillekin korteille, mutta valmis vastaus 
# korvaa X:n valinnan. Mutta vesa toimii useimmiten.
#xserver-xorg xserver-xorg/config/device/driver select vesa

# Hiiren tunnistuksessa on hankaluus: jos se epäonnistuu, X jää 
# yrittämään tunnistusta uudelleen ja uudelleen. Niinpä jos valmis
# vastaus määrää hiiren tunnistuksen, voidaan jäädä junnaamaan.
#xserver-xorg xserver-xorg/autodetect_mouse boolean true

# Monitorin automaattista tunnistamista suositellaan.
xserver-xorg xserver-xorg/autodetect_monitor boolean true
# Poista kommentti jos näyttö on LCD.
#xserver-xorg xserver-xorg/config/monitor/lcd boolean true
# X:sssä on kolme asetustapaa monitorille Näin annetaan valmis
# vastaus aina käytettävissä olevalle medium-tavalle. "simple"
# ei ehkä ole käytettävissä, ja "advanced" kyselee ihan liikaa.
xserver-xorg xserver-xorg/config/monitor/selection-method \
       select medium
xserver-xorg xserver-xorg/config/monitor/mode-list \
       select 1024x768 @ 60 Hz

B.4.14. Valmiit vastaukset muille paketeille

# Asennettaviksi valitut ohjelmat tai asennuksen meneminen pieleen 
# vaikuttavat kysyttäviin kysymyksiin. Muitakin kysymyksiä voi olla, 
# ja niihinkin voi antaa valmiit vastaukset. Kaikkien mahdollisten
# asennuksen aikana kysyttävien kysymysten luettelon saa asennuksen
# jälkeen komennoilla:
#   debconf-get-selections --installer 
> file
#   debconf-get-selections 
>
> file