B.4. Obsah souboru s přednastavením (pro squeeze)

Útržky konfigurace použité v této části jsou také dostupné jako samostatný soubor na http://www.debian.org/releases/squeeze/example-preseed.txt.

Tento příklad je založen na instalaci pro architekturu Intel x86. Jestliže instalujete na jinou architekturu, nemusí některá nastavení odpovídat těm uvedeným (výběr klávesnice, instalace zavaděče) a budete je muset nahradit adekvátními hodnotami.

Podrobnosti o tom, jak jednotlivé komponenty instalačního systému pracují, naleznete v kapitole 6.3 – „Použití jednotlivých komponent“.

B.4.1. Lokalizace

Nastavení lokalizačních proměnných bude fungovat pouze v případě, když používáte přednastavení přes initrd. U ostatních způsobů se totiž soubor s přednastavením nahraje až po zobrazení těchto otázek.

Místní prostření (locale) slouží k současnému zadání jazyka i země. Například pomocí zaváděcího parametru jádra můžete zadat locale=cs_CZ.

Tento způsob je velice jednoduchý, ale neumožňuje přednastavit všechny možné kombinace jazyka, země a místního prostředí[22]. Volitelně tedy můžete přednastavit jednotlivé proměnné.

# Přednastavením locale se automaticky nastaví jazyk, země a locale.
d-i debian-installer/locale string cs_CZ

# Pro větší pružnost je též možno nastavit hodnoty samostatně.
#d-i debian-installer/language string en
#d-i debian-installer/country string NL
#d-i debian-installer/locale string en_GB.UTF-8
# Volitelně můžete zadat další locale, která se mají vygenerovat.
#d-i localechooser/supported-locales cs_CZ.UTF-8, en_US.UTF-8

Zadat můžete libovolnou kombinaci jazyka podporovaného v debian-installer a země. Pokud kombinace netvoří platné prostředí, vybere instalační systém kombinaci tak, že se pokusí zachovat jazyk a k němu vybere platnou zemi.

Nastavení klávesnice se skládá z výběru typu klávesnice a z výběru klávesové mapy. Ve většině případů je typ klávesnice rozpoznán automaticky, takže není potřeba jej přednastavovat. Klávesová mapa musí být platná v rámci daného typu a debian-installer ji musí znát.

# Výběr klávesnice.
#d-i console-tools/archs select at
d-i console-keymaps-at/keymap select cz-lat2
d-i keyboard-configuration/xkb-keymap select cz
# Příklad pro jiný typ klávesnice
#d-i console-keymaps-usb/keymap select mac-usb-us

Nastavení klávesnice můžete přeskočit nastavením proměnné console-tools/archs na hodnotu skip-config. Tím se zachová výchozí klávesová mapa jádra.

Poznámka

Změny ve vstupní vrstvě jader 2.6 v podstatě smazaly význam typů klávesnic, takže by většinou měl stačit typ „PC“ (at).

B.4.2. 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 sítě zavaděči jádra. Zavádíte-li z CD nebo USB, bude nastavení fungovat bez problémů.

Potřebujete-li při zavádění ze sítě vybrat konkrétní síťové rozhraní ještě před nahráním souboru s přednastavením, použijte zaváděcí parametr interface=eth1.

Přestože přednastavení síťování není běžně dostupné při přednastavení ze sítě (tj. při použití „preseed/url“), můžete to obejít následujícím hackem (např. pokud chcete síťovému rozhraní nastavit statickou adresu). Hack spočívá ve vynucení opětovné konfigurace sítě po načtení souboru s přednastavením. Stačí vytvořit skript pro „preseed/run“ obsahující následující příkazy:

killall.sh; netcfg

Pro nastavení sítě lze využít následující proměnné:

# Kompletně zakáže nastavení sítě. Hodí se pro instalace z CD
# na nezasíťovaných zařízeních, kde by byly síťové otázky,
# varování o nedostupné síti a dlouhé čekací doby na obtíž.
#d-i netcfg/enable boolean false

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

# Výběr konkrétního síťového rozhraní:
#d-i netcfg/choose_interface select eth1

# 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

# Má-li tento soubor s přednastavením fungovat na systémech s i bez
# dhcp serveru, odkomentujte následující řádky a také statické
# nastavení sítě níže.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Configure network manually

# Statické nastavení sítě.
#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

# Pokud síťová karta nebo jiný hardware vyžaduje nesvobodný firmware,
# můžete říct instalátoru, aby se vždy pokusil firmware nahrát bez
# dalšího dotazování. Chcete-li nahrávání i dotazování zakázat,
# nastavte na hodnotu false.
#d-i hw-detect/load_firmware boolean true

Pokud není proměnná netcfg/get_netmask přednastavená, netcfg si síťovou masku dopočítá automaticky. Pro plně automatické instalace musíte v takovém případě nastavit proměnnou jako seen, aby instalace nečekala na potvrzení spočítané masky. Obdobně je možné nepřednastavovat proměnnou netcfg/get_gateway a nechat netcfg, aby automaticky automaticky odhadl adresu brány. Jako speciální případ je možné nastavit proměnnou netcfg/get_gateway na hodnotu „none“, což znamená, že se brána nemá použít vůbec.

B.4.3. Síťová konzole

# Následující nastavení se hodí v situacích, kdy chcete instalovat
# vzdáleně přes SSH pomocí komponenty network-console.
# Toto přednastavení má smysl pouze pokud plánujete dokončit
# instalaci ručně.
#d-i anna/choose_modules string network-console
#d-i network-console/password password r00tme
#d-i network-console/password-again password r00tme

B.4.4. Nastavení zrcadla

V závislosti na způsobu instalace můžete zrcadlo použít pro stažení dodatečných komponent instalačního systému, stažení základního systému a pro nastavení souboru /etc/apt/sources.list.

Parametr mirror/suite určuje verzi instalovaného systému.

Parametr mirror/udeb/suite určuje verzi Debianu, ze které se stáhnou dodatečné komponenty instalačního systému. Nastavení této proměnné má smysl pouze v případě, že komponenty stahujete ze sítě a potřebujete, aby odpovídaly verzi initrd, který se používá pro instalaci. Instalační systém obvykle zvolí správnou hodnotu, takže by neměl být důvod tuto proměnnou měnit.

# Zvolíte-li ftp, nemusíte nastavovat mirror/country
#d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/http/hostname string ftp.cz.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# Verze pro instalaci.
#d-i mirror/suite string testing
# Verze, ze které nahrát komponenty instalátoru (volitelné).
#d-i mirror/udeb/suite string testing

B.4.5. Nastavení účtů

Instalační systém umožňuje přednastavit jak heslo uživatele root, tak jméno a heslo prvního běžného uživatele systému. Heslo můžete zadat buď v nešifrované podobě, nebo jako MD5 hash.

Varování

Přednastavení hesel není bezpečné, protože kdokoliv s přístupem k souboru s přednastavením si tato hesla může přečíst. Z pohledu bezpečnosti je použití MD5 hashů lepší, ovšem poskytují pouze falešný pocit bezpečí, protože přístup k MD5 hashi znamená možnost útoků hrubou silou.

# Přeskočí vytvoření účtu pro roota (běžný uživatel bude moci použít
# sudo).
#d-i passwd/root-login boolean false
# Volitelně přeskočí vytvoření běžného uživatelského účtu.
#d-i passwd/make-user boolean false

# Rootovo heslo v čitelném tvaru
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# nebo šifrované pomocí MD5 hashe.
#d-i passwd/root-password-crypted password [MD5 hash]

# Vytvoření účtu běžného uživatele.
#d-i passwd/user-fullname string Jan Novak
#d-i passwd/username string jan
# Heslo běžného uživatele v čitelném tvaru
#d-i passwd/user-password password nebezpecne
#d-i passwd/user-password-again password nebezpecne
# nebo šifrované pomocí MD5 hashe.
#d-i passwd/user-password-crypted password [MD5 hash]
# Nastaví UID běžného uživatele (jinak se použije výchozí hodnota).
#d-i passwd/user-uid string 1010
# Uživatelský účet bude automaticky přidán do několika standardních
# skupin. Chcete-li to změnit, zadejte seznam požadovaných skupin.
#d-i passwd/user-default-groups string audio cdrom video

Do proměnných passwd/root-password-crypted a passwd/user-password-crypted můžete jako hodnotu zadat znak vykřičník „!“, což znamená, že daný účet bude zakázán. To se může hodit například pro účet root, což ovšem předpokládá, že máte nastavenu nějakou jinou možnost, jak počítač spravovat (například pomocí sudo nebo autentizace přes SSH klíče).

MD5 hash hesla můžete vygenerovat následujícím příkazem:

$ printf "r00tme" | mkpasswd -s -m md5

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

# Určuje, zda jsou hardwarové hodiny nastaveny na UTC.
d-i clock-setup/utc boolean true

# Proměnnou můžete nastavit na libovolnou platnou hodnotu $TZ;
# Seznam časových pásem naleznete v /usr/share/zoneinfo/.
d-i time/zone string Europe/Prague

# Určuje, zda se mají při instalaci nastavit hodiny pomocí NTP.
d-i clock-setup/ntp boolean true
# NTP server, který se má použít. Výchozí hodnota je většinou
# dostačující.
#d-i clock-setup/ntp-server string tak.cesnet.cz

B.4.7. Rozdělení disku

Dělení disku je víceméně omezeno možnostmi, které nabízí partman-auto. Můžete zvolit rozdělení buď stávajícího volného místa, nebo celého disku. Rozvržení oblastí můžete určit pomocí předdefinovaného schematu, vlastního schematu ze souboru nebo schematu obsaženém v souboru s přednastavením.

Přednastavení pokročilejších konfigurací s RAIDem, LVM a šifrováním je sice podporováno, ale ne s takovými možnostmi, jako při ručním dělení.

Příklady níže ukazují jen základní použití schemat. Podrobnější informace naleznete v souborech partman-auto-recipe.txt a partman-auto-raid-recipe.txt, které jsou součástí balíku debian-installer. Oba soubory jsou též dostupné ze zdrojového repositáře debian-installer. Poznamenejme, že podporovaná funkcionalita se může mezi jednotlivými vydáními lišit.

Varování

Označení disků závisí na pořadí, ve kterém jsou nahrány jejich ovladače. Jestliže se v systému nachází více disků, tak se ubezpečte, že jste vybrali ten správný.

B.4.7.1. Příklad dělení disku

# Má-li systém nějaké volné místo, můžete si vybrat, zda chcete
# automaticky rozdělit pouze toto volné místo. To však funguje pouze
# pokud není nastavena proměnná partman-auto/method (níže).
#d-i partman-auto/init_automatically_partition select biggest_free

# Alternativně můžete zadat k automatickému dělení celý disk.
# Obsahuje-li systém pouze jediný disk, použije se tento automaticky.
# V opačném případě musíte zadat název příslušného zařízení
# v tradičním formátu a ne ve formátu devfs (tj. musíte zadat něco
# jako /dev/hda nebo /dev/sda, ne /dev/discs/disc0/disc).
# Například pro použití prvního SCSI/SATA disku:
#d-i partman-auto/disk string /dev/sda
#
# Dále musíte zvolit metodu, která se má použít. Momentálně jsou
# dostupné metody
# - regular: použije typ oblastí typický na vaší architektuře
# - lvm:     pro rozdělení disku použije LVM
# - crypto:  použije LVM nad zašifrovanou oblastí
d-i partman-auto/method string lvm

# Pokud některý z disků určených k automatickému rozdělení obsahuje
# pozůstatek z předchozího LVM, zobrazí se varování. Tímto můžete
# varování potlačit...
d-i partman-lvm/device_remove_lvm boolean true
# To stejné platí pro potvrzení při zápisu LVM oblastí.
d-i partman-lvm/confirm boolean true
# A platí i pro odstranění pozůstatků předchozího softwarového RAIDu:
d-i partman-md/device_remove_md boolean true

# Můžete vybrat jedno ze tří připravených schémat dělení.
# - atomic: všechny soubory v jedné oblasti
# - home:   samostatná oblast /home
# - multi:  samostatné oblasti /home, /usr, /var a /tmp
d-i partman-auto/choose_recipe select atomic

# Nebo zadat váš vlastní návod na dělení...
# 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 (logickou) řádku.
# Například vytvoříme malou oblast /boot, vhodný swap a zbytek
# použijeme jako kořenovou oblast:
#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{ }                \
#              .

# Kompletní formát je popsán v souboru partman-auto-recipe.txt
# dostupném v balíku "debian-installer" nebo ve zdrojovém repositáři
# D-I. Soubor demonstruje použití i takových věcí, jako je pojmenování
# souborových systémů, pojmenování skupin svazků a určení, ze kterých
# fyzických zařízení se má skupina svazků skládat.

# Následujícím řeknete partmanu, aby disk rozdělil bez potvrzení.
# (Za předpokladu, že jste partmanu v předchozích krocích řekli,
# co má dělat.)
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

B.4.7.2. Rozdělení při použití RAIDu

Pomocí přednastavení též můžete nastavit oblasti na polích softwarového RAIDu. Podporovány jsou RAID úrovně 0, 1, 5, 6 a 10, vytváření degradovaných polí a určení rezervních zařízení.

Varování

U tohoto typu automatického rozdělení se dá velice lehce něco pokazit. Navíc se jedná o komponentu, kterou vývojáři debian-installer testují relativně málo. Odpovědnost za správné zapsání návodu pro rozdělení (aby dával smysl a nevytvářel konflikty) nese uživatel. V případě problémů zkontrolujte /var/log/syslog.

# Metoda by měla být nastavena na "raid".
#d-i partman-auto/method string raid
# Zadejte disky k rozdělení. Na všech bude nakonec stejné rozložení,
# takže to bude fungovat pouze pokud mají disky stejnou velikost.
#d-i partman-auto/disk string /dev/sda /dev/sdb

# Dále musíte zadat fyzické oblasti, které se mají použít.
#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 }                       \
#              .

# Na závěr musíte zadat, jakým způsobem se mají dříve definované oblasti
# použít v nastavení RAIDu. Důležité je použít správná čísla logických
# oblastí. Podporovány jsou RAID úrovně 0, 1, 5, 6 a 10; zařízení jsou
# oddělena pomocí "#"
# Parametry jsou:
# <typraidu> <početzařízení> <početrezerv> <typss> <přípbod> \
#          <zařízení> <rezervnízařízení>

#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                    \
#          /dev/sda1#/dev/sdb1       \
#    .                               \
#    1 2 0 swap -                    \
#          /dev/sda5#/dev/sdb5       \
#    .                               \
#    0 2 0 ext3 /home                \
#          /dev/sda6#/dev/sdb6       \
#    .

# Více informací naleznete v souboru partman-auto-recipe.txt dostupném
# v balíku "debian-installer" nebo ve zdrojovém repositáři D-I.

# Toto zajistí, že se partman nebude při rozdělování ptát na potvrzení.
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true

B.4.7.3. Způsob připojení oblastí

Souborové systémy se obvykle připojují pomocí jedinečného univerzálního identifikátoru, tzv. UUID. To umožňuje korektní připojení oblastí i v případech, kdy se změní jejich jména zařízení. UUID jsou dlouhé a špatně se čtou, takže pokud si budete přát, může instalátor připojit souborové systémy pomocí tradičních jmen zařízení, nebo pomocí názvů oblastí, které jim přidělíte. Zvolíte-li připojení pomocí názvů oblastí, budou oblasti bez nastaveného názvu připojeny pomocí UUID.

Zařízení se stabilními jmény, jako např. logické svazky LVM, budou místo UUID nadále používat připojení pomocí tradičních jmen zařízení.

Varování

Tradiční jména zařízení se mohou měnit v závislosti na pořadí, ve kterém jádro při zavádění zařízení objeví. To může způsobit připojení chybného souborového systému. Podobný problém existuje v případě použití názvů oblastí, protože při zapojení dalšího disku (i externího) mohou použité názvy oblastí kolidovat a tím pádem není zaručeno, která oblast se připojí.

# Výchozí je připojování pomocí UUID, ale můžete zvolit též "traditional"
# pro použití tradičních jmen zařízení, nebo "label" pro použití názvů
# oblastí (se záchytnou možností použití UUID).
#d-i partman/mount_style select uuid

B.4.8. Instalace základního systému

V této fázi instalace se toho moc nastavit nedá. Jediné otázky se týkají instalace jádra.

# Nastaví APT, aby implicitně neinstaloval doporučené balíky. Použití
# této volby může znamenat instalaci nekompletního systému a měli by
# ji používat pouze zkušení uživatelé.
#d-i base-installer/install-recommends boolean false

# Vybere generátor initramfs, kterým se vygeneruje initrd pro jádra
# řady 2.6.
#d-i base-installer/kernel/linux/initramfs-generators string initramfs-tools

# (Meta) balík jádra, který se má nainstalovat; nechcete-li instalovat
# žádné jádro, zadejte "none".
#d-i base-installer/kernel/image string linux-image-2.6-486

B.4.9. Nastavení APT

Nastavení souboru /etc/apt/sources.list a několika základních parametrů je plně řízeno typem instalace a dříve zodpovězenými otázkami. Volitelně můžete přidat další (lokální) archivy.

# Můžete si zvolit instalaci softwaru ze sekcí non-free a contrib.
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Odkomentujte, pokud nechcete používat síťové zrcadlo.
#d-i apt-setup/use_mirror boolean false
# Vyberte, které aktualizační služby chcete využívat a zadejte
# jejich zrcadla. Příklad ukazuje výchozí hodnoty.
#d-i apt-setup/services-select multiselect security, volatile
#d-i apt-setup/security_host string security.debian.org
#d-i apt-setup/volatile_host string volatile.debian.org

# Další archivy, k dispozici jsou local[0-9]
#d-i apt-setup/local0/repository string \
#       http://muj.server/debian stable main
#d-i apt-setup/local0/comment string local server
# Povolí řádky deb-src
#d-i apt-setup/local0/source boolean true
# URL k veřejnému klíči lokálního archivu; Klíč musíte zadat, protože
# jinak si apt bude stěžovat na neautentizovaný archiv a příslušný
# řádek v sources.list zůstane zakomentovaný
#d-i apt-setup/local0/key string http://muj.server/klic

# Instalace vyžaduje, aby byly všechny repositáře autentizovány
# známým gpg klíčem. Tímto nastavením můžete autentizaci potlačit.
# Varování: Nebezpečné, není doporučeno.
#d-i debian-installer/allow_unauthenticated boolean true

B.4.10. Výběr balíků.

Můžete nainstalovat libovolnou kombinaci dostupných úloh. V době psaní to zahrnuje:

  • standard

  • desktop

  • gnome-desktop

  • kde-desktop

  • web-server

  • print-server

  • dns-server

  • file-server

  • mail-server

  • sql-database

  • laptop

Instalaci úloh můžete vynechat a instalovat balíky nějakou jinou cestou. Úlohu standard však doporučujeme instalovat vždy.

Chcete-li kromě balíků v úlohách instalovat také nějaké samostatné balíky, můžete použít parametr pkgsel/include. Hodnotou parametru je čárkami nebo mezerami oddělený seznam, takže jej můžete jednoduše použít i na příkazové řádce jádra.

#tasksel tasksel/first multiselect standard, web-server
# Pokud je vybrána desktopová úloha, nainstaluje místo výchozího GNOME
# desktopy KDE a Xfce.
#tasksel tasksel/desktop multiselect kde, xfce

# Samostatné balíky pro instalaci.
#d-i pkgsel/include string openssh-server build-essential
# Zda se mají balíky po rozbalení debootstrapem aktualizovat.
# Povolené hodnoty: none, safe-upgrade, full-upgrade
#d-i pkgsel/upgrade select none

# 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

B.4.11. Dokončení instalace

# Při instalaci skrze sériovou konzoli jsou tradiční virtuální konzoly
# (VT1-VT6) v /etc/inittab zakázány. Chcete-li je nechat povolené,
# odkomentujte následující řádek.
#d-i finish-install/keep-consoles boolean true

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

# Zakáže vysunutí CD během restartu, což se občas může hodit.
#d-i cdrom-detect/eject boolean false

# Tímto se počítač po skončení instalace místo restartu do nového
# systému zastaví, případně zcela vypne.
#d-i debian-installer/exit/halt boolean true
# Tímto se počítač nejen zastaví, ale i vypne.
#d-i debian-installer/exit/poweroff boolean true

B.4.12. Přednastavení ostatních balíků

# 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 během instalace získáte
# příkazy:
#   debconf-get-selections --installer > soubor
#   debconf-get-selections >> soubor


[22] Například přednastavením locale na hodnotu en_NL by se jako výchozí locale pro instalovaný systém použilo en_US.UTF-8. Jestliže preferujete britský standard angličtiny (en_GB.UTF-8), musíte přednastavit jednotlivé proměnné.