C.1. Příklad předkonfiguračního souboru

Toto je kompletní funkční příklad předkonfiguračního souboru pro automatizované instalace. Způsob použití je vysvětlen v 4.5 – „Automatická Instalace“. Před použitím souboru je vhodné odkomentovat některé řádky.

Poznámka

Pro lepší zobrazení v tištěné příručce jsme některé řádky zalomili. To je indikováno znakem pro pokračování řádku „\“ a poté větším odsazením následujícího řádku. V opravdovém souboru musí být takto rozdělené řádky pojeny do jediného.

Čistý“ ukázkový soubor je dostupný na ../example-preseed.txt.

#### Úprava syslinux.cfg.

# Abyste mohli použít soubor s přednastavením, musíte zavést
# instalační program a říci mu, který soubor má použít. Toho dosáhnete
# parametrem, který předáte jádru buď ručně při zavádění, nebo skrze
# soubor zavaděče syslinux.cfg (nebo podobný), kde na konec řádku append
# přidáte příslušné parametry.
#
# Pro zavádění ze sítě použijte:
#   preseed/url=http://pocitac/cesta/k/preseed
# Pokud si vyrábíte vlastní CD, zkuste použít:
#   preseed/file=/cdrom/preseed
# Pro USB klíčenku umístěte soubor do kořenového adresáře USB klíčenky
# a použijte následující:
#   preseed/file=/hd-media/preseed
# Ujistěte se, že soubor nakopírujete na správné místo.
#
# Některé části instalačního procesu nemohou být zautomatizovány
# pomocí každého typu přednastavení, protože se některé otázky
# objevují ještě před tím, než se načte soubor s přednastavením.
# Například pro stažení souboru ze sítě musí nejprve proběhnout
# její nastavení. Z tohoto pohledu je výhodné použít přednastavení
# v initrd, protože umožňuje nastavit i prvotní kroky instalace.
#
# Když už upravujete soubor zavaděče, přidejte na stejné místo
# parametr debconf/priority=critical, který odchytí většinu případných
# otázek, které zde zapomenete nastavit.
# Dále můžete v syslinux.cfg nastavit parametr timeout na 1, abyste
# nemuseli pro zavedení instalačního systému stisknout enter.
#
# Jádro akceptuje nejvýše 8 parametrů a 8 proměnných prostředí (včetně
# standardních voleb pro instalační program). Pokud tento limit
# překročíte, jádra řady 2.4 přebývající parametry zahodí, jádra 2.6
# zpanikaří. S jádry 2.6.9 a novějšími můžete použít až 32 parametrů
# a 32 proměnných prostředí.
#
# Pro většinu instalací můžete celkem bez problémů
# odstranit implicitní volby 'vga=normal' a 'devfs=mount', což vám
# umožní přidat další volby pro přednastavení.
#
# Výběr jazyka, země a klávesnice nemůže být nastaven v souboru
# s přednastavením, protože tyto otázky se zobrazují ještě před tím,
# než se soubor s přednastavením načte.
# Abyste se těmto otázkám vyhnuli zadejte jádru další parametry:
#
# languagechooser/language-name=Czech
# countrychooser/shortlist=CZ
# console-keymaps-at/keymap=cz-lat2

#### Nastavení sítě.

# Pokud nahráváte soubor s přednastavením ze sítě, pak následující
# samozřejmě nebude fungovat! V takovém případě zadejte potřebné
# parametry zavaděči jádra stejně jako výběr jazyka/země/klávesnice.
# Zavádíte-li z CD nebo USB, bude nastavení fungovat bez problémů.

# netcfg zkusí použít rozhraní, jehož druhý konec je aktivní.
# Tím pádem přeskočí výběr ze seznamu nalezených rozhraní.
d-i netcfg/choose_interface select auto

# Máte-li pomalejší dhcp server a instalačnímu systému vyprší čas při
# čekání na odpověď, bude užitečné následující.
#d-i netcfg/dhcp_timeout string 60

# Pokud dáváte přednost ručnímu nastavení sítě:
#d-i netcfg/disable_dhcp boolean true
#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

# Název počítače a domény přiřazené přes DHCP mají větší prioritu než
# hodnoty nastavené zde, nicméně takto máte jistotu, že tato otázka
# nezobrazí (ať už nastavení z DHCP obdržíme nebo ne).
d-i netcfg/get_hostname string nenastavene-jmeno
d-i netcfg/get_domain string nenastavena-domena

# Zakáže otravný dialog o WEP klíči.
d-i netcfg/wireless_wep string
# Praštěné DHCP jméno počítače, které používají někteří ISP jako heslo.
#d-i netcfg/dhcp_hostname string radish

#### Nastavení zrcadla.

d-i mirror/country string enter information manually
d-i mirror/http/hostname string http.cz.debian.org
d-i mirror/http/directory string /debian
d-i mirror/suite string testing
d-i mirror/http/proxy string

#### Rozdělení disku.

# Pokud má systém volné místo, můžete je vybrat k automatickému rozdělení.
#d-i partman-auto/init_automatically_partition \
#    select Use the largest continuous free space
# Alternativně můžete zadat k automatickému dělení celý disk. Název
# zařízení může být v tradičním formátu nebo ve formátu devfs.
# Například pro použití prvního disku, který devfs najde:
d-i partman-auto/disk string /dev/discs/disc0/disc

# Můžete vybrat libovolný z přednastavených schémat dělení:
d-i partman-auto/choose_recipe select \
    All files in one partition (recommended for new users)
#d-i partman-auto/choose_recipe select Desktop machine
#d-i partman-auto/choose_recipe select Multi-user workstation
# Nebo zadat váš vlastní návod na dělení...
# Formát návodu je popsán v souboru devel/partman-auto-recipe.txt.
# Pokud umíte do prostředí d-i dostat soubor s návodem na dělení,
# stačí na něj odkázat.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe
# V opačném případě můžete zadat celý návod na jednu řádku. Například
# vytvoříme malou /boot oblast, vhodný swap a zbytek použijeme jako
# kořenovou oblast:
#d-i partman-auto/expert_recipe string boot-root :: \
#    20 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{ } .
# Pro jistotu zde uvádíme stejný recept v čitelnější podobě:
#    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{ }
#        .

# Následujícím řeknete partmanu, aby disk rozdělil bez potvrzení.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select \
    Finish partitioning and write changes to disk
d-i partman/confirm boolean true

#### Instalace zavaděče.

# Implicitní zavaděč (pro x86) je Grub. Chcete-li místo něj instalovat
# LILO, odkomentujte následující:
#d-i grub-installer/skip boolean true

# Toto je bezpečné nastavení - pokud nenalezne jiný operační systém,
# nainstaluje Grub do MBR.
d-i grub-installer/only_debian boolean true

# Toto nainstaluje Grub do MBR i když nalezne jiný operační systém,
# což je méně bezpečné, protože se jiný systém nemusí zavést.
d-i grub-installer/with_other_os boolean true

# Alternativně můžete instalovat jinam než do MBR - odkomentujete
# a upravte tyto řádky:
#d-i grub-installer/bootdev string (hd0,0)
#d-i grub-installer/only-debian boolean false
#d-i grub-installer/with_other_os boolean false

#### Dokončení první fáze instalace.

# Vynechá poslední hlášku, že je instalace kompletní.
d-i prebaseconfig/reboot_in_progress note

#### Shellové příkazy.

# Přednastavení d-i není už ze své podstaty bezpečné. Nic
# v instalačním systému nekontroluje pokusy kolem přetečení bufferu
# ani zneužití hodnot v souboru s přednastaveními. Používejte tyto
# soubory pouze z důvěryhodných zdrojů!
# Následuje ukázka, jak v d-i spustit automaticky nějaký shellový příkaz.

# První příkaz je spuštěn co nejdříve - hned po načtení přednastavení.
#d-i preseed/early_command string anna-install nejaky-udeb

# Tento příkaz je spuštěn těsně před koncem instalace, ale ještě je
# připojen adresář /target.
#d-i preseed/late_command string echo foo > /target/etc/bar

# Tento příkaz je spuštěn při startu base-config.
#base-config base-config/early_command  string echo ahoj mami

# Poslední příkaz je spuštěn po skončení base-config, těsně před
# výzvou login:. Takto můžete doinstalovat balíky, nebo také doladit
# nastavení systému.
#base-config base-config/late_command string \
#    apt-get install zsh; chsh -s /bin/zsh

###### Přednastavení druhé fáze instalace.

#### Přednastavení base-config.

# Vynechá úvodní hlášku.
base-config base-config/intro note

# Vynechá závěrečnou hlášku.
base-config base-config/login note

# Pokud jste instalovali správce zobrazení, ale nechcete jej spustit
# hned po dokončení base-config.
#base-config base-config/start-display-manager boolean false

# Některé verze instalačního systému mohou vývojářům Debianu hlásit
# seznam balíčků, které jste nainstalovali, což pomáhá při
# rozhodování, který software je oblíbený a proto by měl být zařazen
# na CD. Výchozí hodnotou je zákaz posílání tohoto seznamu, ale měli
# byste zvážit jeho povolení.
#popularity-contest popularity-contest/participate boolean false

#### Nastavení hodin a časového pásma.

# Nastaví, zda jsou hardwarové hodiny nastaveny na UTC.
#base-config tzconfig/gmt boolean true
# Pokud jste instalačnímu systému řekli, že žijete ve Spojených
# státech, můžete vybrat časovou zónu následující proměnnou.
# (Možnosti jsou: Eastern, Central, Mountain, Pacific, Alaska, Hawaii,
# Aleutian, Arizona East-Indiana, Indiana-Starke, Michigan, Samoa, other)
#base-config tzconfig/choose_country_zone/US select Eastern
# Pokud se nacházíte v Kanadě.
# (Možnosti jsou: Newfoundland, Atlantic, Eastern, Central,
# East-Saskatchewan, Saskatchewan, Mountain, Pacific, Yukon, other)
#base-config tzconfig/choose_country_zone/CA select Eastern
# Pokud se nacházíte v Brazílii.
# (Možnosti jsou: East, West, Acre, DeNoronha, other)
#base-config tzconfig/choose_country_zone/BR select East
# Mnoho zemí má pouze jedno časové pásmo (jako ČR). Pokud se nacházíte
# v některé z těchto zemí, můžete vybrat časové pásmo následující
# otázkou.
#base-config tzconfig/choose_country_zone_single boolean true
# Tato otázka slouží jako záchytný bod pro země, které mají více
# časových pásem a které nevyhovují žádné předchozí otázce.
# Můžete zadat některé z časových pásem nebo "other".
#base-config tzconfig/choose_country_zone_multiple select

#### Nastavení uživatelských účtů.

# Sem můžete zadat rootovo heslo, což není nejlepší nápad. S touto
# volbou buďte velmi opatrní!
#passwd passwd/root-password password jsem_r00t
#passwd passwd/root-password-again password jsem_r00t

# Chcete-li přeskočit vytváření běžného uživatelského účtu.
#passwd passwd/make-user boolean false
# Alternativně můžete přednastavit jméno uživatele.
#passwd passwd/user-fullname string Uzivatel Debianu
#passwd passwd/username string franta
# Uživatelovo heslo, opět buďte opatrní!
#passwd passwd/user-password password nebezpecne
#passwd passwd/user-password-again password nebezpecne

#### Nastavení APTu.

# Tato otázka určuje, odkud se budou instalovat balíky ve druhé fázi
# instalace. Možnosti jsou cdrom, http, ftp, filesystem, edit sources
# list by hand.
base-config apt-setup/uri_type select http

# Zvolíte-li ftp nebo http, musíte zadat zemi a zrcadlo.
base-config apt-setup/country select enter information manually
base-config apt-setup/hostname string http.cz.debian.org
base-config apt-setup/directory string /debian
# Zastaví po výběru jednoho zrcadla.
base-config apt-setup/another boolean false

# Můžete si nainstalovat software ze sekcí non-free a contrib.
#base-config apt-setup/non-free boolean true
#base-config apt-setup/contrib boolean true

# Povolí bezpečnostní aktualizace.
base-config apt-setup/security-updates  boolean true

#### Výběr balíků.

# Můžete zvolit libovolnou kombinaci dostupných úloh.
# V době psaní to zahrnuje: Desktop environment, Web server,
# Print server, DNS server, File server, Mail server, SQL database,
# manual package selection. Poslední možnost spustí aptitude.
# Také můžete instalaci úloh vynechat a instalovat balíky nějakou
# jinou cestou.
tasksel tasksel/first multiselect Desktop environment
#tasksel tasksel/first multiselect Web server, Mail server, DNS server

#### Nastavení pošty.

# Během normální instalace se exim ptá pouze několik otázek. (Je možné
# přednastavit i složitější nastavení.)
exim4-config exim4/dc_eximconfig_configtype \
    select no configuration at this time
exim4-config exim4/no_config boolean true

# Toto je vhodné nastavit na jméno uživatele, kterého jste vytvořili
# dříve. Pokud necháte prázdné, půjde pošta pro uživatele postmaster
# do /var/mail/mail.
exim4-config exim4/dc_postmaster string

#### Nastavení X Window.

# Přednastavení těchto otázek je možné, ale musíte znát podrobnosti
# o grafickém vybavení počítače, protože automatické nastavení
# X Window nerozpozná každou grafickou kartu/monitor/myš/klávesnici.

# I když X rozpozná správný ovladač grafické karty, zde jej můžete
# přepsat. Vesa bude fungovat ve většině případů.
#xserver-xfree86 xserver-xfree86/config/device/driver select vesa

# Pokud se automatické rozpoznání myši nezdaří, dostanete se do
# nekonečné smyčky, protože nástroj se bude ptát znovu a znovu
# a pokaždé (ne)nalezne stejnou nefunkční myš.
#xserver-xfree86 xserver-xfree86/autodetect_mouse boolean true

# Automatické rozpoznání monitoru je doporučeno.
xserver-xfree86 xserver-xfree86/autodetect_monitor boolean true
# Odkomentujete pokud máte LCD displej.
#xserver-xfree86 xserver-xfree86/config/monitor/lcd boolean true
# X má tři metody nastavení monitoru. Ukážeme střední cestu
# ("medium"), která je dostupná vždy.  Možnost "simple" nemusí být
# dostupná a "advanced" se ptá příliš mnoho otázek.
xserver-xfree86 xserver-xfree86/config/monitor/selection-method	\
    select medium
xserver-xfree86 xserver-xfree86/config/monitor/mode-list \
    select 1024x768 @ 60 Hz

#### Vše ostatní.

# Je možné, že se objeví další otázky v závislosti na tom, jaký
# software nainstalujete nebo podle toho, co se během instalace
# pokazí. Seznam všech možných otázek instalačního programu získáte
# příkazy:
#   debconf-get-selections --installer > file
#   debconf-get-selections >> file

# Přednastavení může být uloženo v několika souborech, načtete je
# následovně:
#d-i preseed/include string x.cfg

# Zadat můžete i více souborů najednou, stačí je oddělit mezerami.
# Později uvedené volby přepisují volby uvedené dříve. Pokud cestu
# zadáte relativně, hledají se soubory ve stejném adresáři, jako tento
# soubor.
# Mnohem pružnější je použití shellového příkazu, který vrátí názvy
# souborů, jež se mají nahrát. V našem příkladě se příkaz rozhoduje
# mezi soubory podle konkrétního USB zařízení (zde vestavěné čtečky
# karet):
#d-i preseed/include_command string \
#    if $(grep -q "GUID: 0aec3050aec305000001a003" /proc/scsi/usb-storage-*/*); \
#    then echo kraken.cfg; else echo otherusb.cfg; fi

# Chcete-li si ještě před instalací zkontrolovat formát vašeho souboru
# s přednastavením, můžete použít debconf-set-selections:
#   debconf-set-selections -c preseed.cfg