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