B.2. Előírás használata

You will first need to create a preconfiguration file and place it in the location from where you want to use it. Creating the preconfiguration file is covered later in this appendix. Putting it in the correct location is fairly straightforward for network preseeding or if you want to read the file off a usb-stick. If you want to include the file in an installation ISO image, you will have to remaster the image. How to get the preconfiguration file included in the initrd is outside the scope of this document; please consult the developers' documentation for debian-installer.

Egy példa elő-beállító fájl, mely sajátod alapjául szolgálhat elérhető innen: https://d-i.debian.org/manual/example-preseed.txt. E fájl e függelék beállító töredékeire épül.

B.2.1. Az elő-beállító fájl betöltése

Initrd előírás használatakor csak el kell helyezni a preseed.cfg fájlt az initrd gyökér könyvtárába. A telepítő önműködően betölti e fájlt, ha létezik.

For the other preseeding methods you need to tell the installer what file to use when you boot it. This is normally done by passing the kernel a boot parameter, either manually at boot time or by editing the bootloader configuration file (e.g. syslinux.cfg) and adding the parameter to the end of the append line(s) for the kernel.

If you do specify the preconfiguration file in the bootloader configuration, you might change the configuration so you don't need to hit enter to boot the installer. For syslinux this means setting the timeout to 1 in syslinux.cfg.

A helyes elő-beállító fájl betöltéséhez megadható hozzá egy ellenőrző-összeg. Jelenleg ez egy md5sum kell legyen, és ha nem egyezik, a telepítő elveti a fájlt.

Boot parameters to specify:
- if you're netbooting:
  preseed/url=http://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d
- or
  preseed/url=tftp://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d

- if you're booting a remastered installation image:
  preseed/file=/cdrom/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

- if you're installing from USB media (put the preconfiguration file in the
  toplevel directory of the USB stick):
  preseed/file=/hd-media/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

Note that preseed/url can be shortened to just url, preseed/file to just file and preseed/file/checksum to just preseed-md5 when they are passed as boot parameters.

B.2.2. Indító paraméterek használata kérdések előírt válaszára

Ha egy elő-beállító fájl nem használható egyes lépésekhez, a telepítő akkor is teljesen automatizálható, mert az előíró értékek átadhatók paraméterként is a telepítő indításakor.

Indító paraméterek teljes előírás nélkül is használhatók 1-1 kérdés megválaszolására. Pár hasznos példa erre a kézikönyv más részeiben.

Egy érték beállításához debian-installer általi használatra add meg a változó/útvonala=érték paramétert bármely e függelék példáiban lévő előíró változóhoz. Ha egy érték a leendő rendszer csomagjai beállításához kerül használatra, elé kell fűzni a változóhoz tartozó tartozó tulajdonos[21] nevét így: tulajdonos:változó/útvonala=érték. Tulajdonos megadása nélkül a változó értéke nem kerül a debconf adatbázisba, így használatlan marad az adott csomag beállításakor.

Normally, preseeding a question in this way will mean that the question will not be asked. To set a specific default value for a question, but still have the question asked, use ?= instead of = as operator. See also B.5.2. szakasz - Előírás használata alap értékek módosítására.

Note that some variables that are frequently set at the boot prompt have a shorter alias. If an alias is available, it is used in the examples in this appendix instead of the full variable. The preseed/url variable for example has been aliased as url. Another example is the tasks alias, which translates to tasksel:tasksel/first.

A --- az indító lehetőségeknél különleges értelmű. Az utolsó --- utáni kernel paraméterek a telepített rendszer boot-betöltő beállításaiba kerülnek (ha a telepítő támogatja az adott boot-betöltőhöz). A telepítő önműködően szűr az általa ismert (például elő-beállító) lehetőségekre.

[Megjegyzés] Megjegyzés

A jelenlegi linux kernelek (2.6.9 és később) legfeljebb 32 parancssori és 32 környezeti opciót fogadnak a telepítő által alapban hozzáadott lehetőségekkel együtt. Ezt átlépve kernel pánik (összeomlás) következik. (Korábban e számok kisebbek voltak.)

A legtöbb telepítésnél a boot-betöltő beállító fájlban lévő sok alap lehetőség, például a vga=normal, biztonsággal eltávolítható, mely lehetővé teszi több lehetőség átadását az előírásnak.

[Megjegyzés] Megjegyzés

Szóköz karaktert tartalmazó értékek még idézőjel segítségével sem mindig adhatók meg.

B.2.3. Automata mód

There are several features of Debian Installer that combine to allow fairly simple command lines at the boot prompt to result in arbitrarily complex customized automatic installs.

This is enabled by using the Automated install boot choice, also called auto for some architectures or boot methods. In this section, auto is thus not a parameter, it means selecting that boot choice, and appending the following boot parameters on the boot prompt. See 5.1.7. szakasz - The Boot Screen for information on how to add a boot parameter.

Íme az indító jelnél használható pár példa:

auto url=autoserver

Egy DHCP kiszolgáló megadja egy DNS által feloldható auto-szerver helyét, akár egy a DHCP által adott helyi tartomány hozzáadása után. Ha az example.com volt a tartomány, és jó a DHCP beállítás, az előíró fájl helye: http://autoserver.example.com/d-i/bullseye/./preseed.cfg.

Az url utolsó része (d-i/bullseye/./preseed.cfg) innen jön: auto-install/defaultroot. Alapban tartalmazza az bullseye könyvtárat, e felépítés később lehetővé teszi más kódnevek megadását. A /./ egy gyökeret jelöl, melyhez az al-útvonalak köthetők (a preseed/include és preseed/run esetében használatos). Így a fájlok teljes URL leírásokkal, / jellel kezdődő útvonalakkal, vagy a legutóbbi előíró fájlhoz viszonyított relatív útvonalakkal is megadhatók. Így sokkal hordozhatóbb szkriptek írhatók, melyek hierarchiája törés nélkül áthelyezhető, például egy web-szerverről fájlokat másolva egy USB tárra. E példában, ha az előíró fájl a preseed/run értékéül ezt adja: /scripts/late_command.sh, a fájl innen kerül letöltésre: http://autoserver.example.com/d-i/bullseye/./scripts/late_command.sh.

Ha nincs helyi DHCP vagy DNS, vagy nem akarod az alap útvonalat használni a preseed.cfg fájlra, lehetőség van egy url megadására, mely /./ elem nélkül az útvonal elejére kerül (ami a 3. / az URL szerkezetében). Itt egy helyi hálózat minimális támogatását igénylő példa:

auto url=http://192.168.1.2/útvonal/az/előíró.fájlomhoz

Így működik:

  • ha az URL nem tartalmaz protokollt, http kerül kiválasztásra,

  • ha a gépnév szakaszban nincs pont, a DHCP által adott tartomány kerül hozzáadásra, és

  • Ha egyetlen / jel sem szerepel a gépnév után, akkor az alap útvonal kerül hozzáadásra.

Az url megadásán túl, megadhatsz beállításokat, melyek nem hatnak közvetlenül a debian-installer viselkedésére, de átadhatók szkripteknek a preseed/run használatával a betöltött előíró fájlban. Jelenleg, ennek egyetlen példája az auto-install/classes, melyre egy álnév a classes. Példa:

auto url=example.com classes=class_A;class_B

Az osztályok például leírhatják a telepítendő rendszer típusát vagy a helyi beállítást.

Természetesen ez az elképzelés kiterjeszthető, és erre igen jó az auto-install név-hely. Például így: auto-install/style, melyet később szkriptjeidben használsz. Ha ezt szükségesnek érzed, írj a listára, így elkerülhetjük a név-hely ütközéseket és talán adhatunk egy álnevet a szükséges paraméternek.

The auto boot choice is not yet defined on all arches. The same effect may be achieved by simply adding the two parameters auto=true priority=critical to the kernel command line. The auto kernel parameter is an alias for auto-install/enable and setting it to true delays the locale and keyboard questions until after there has been a chance to preseed them, while priority is an alias for debconf/priority and setting it to critical stops any questions with a lower priority from being asked.

További hasznos lehetőségek lehetnek a telepítés önműködővé tételére DHCP esetén: interface=auto netcfg/dhcp_timeout=60, melyek a gépet az 1. elérhető NIC használatára utasítják és türelmesebbé teszik egy válaszra DHCP kérésükhöz.

[Tipp] Tipp

E keretrendszer használatáról átfogó példa található szkriptekkel és osztályokkal a fejlesztő weblapján. Az elérhető példák sok más az elő-beállítás használatával elérhető szép hatást is mutatnak.

B.2.4. Az előírásnál használható álnevek

The following aliases can be useful when using (auto mode) preseeding. Note that these are simply short aliases for question names, and you always need to specify a value as well: for example, auto=true or interface=eth0.

priority debconf/priority
fb debian-installer/framebuffer
language debian-installer/language
country debian-installer/country
locale debian-installer/locale
theme debian-installer/theme
auto auto-install/enable
classes auto-install/classes
fájl preseed/file
url preseed/url
domain netcfg/get_domain
hostname    netcfg/get_hostname
interface netcfg/choose_interface
protocol mirror/protocol
suite mirror/suite
modules anna/choose_modules
recommends base-installer/install-recommends
tasks tasksel:tasksel/first
asztal tasksel:tasksel/desktop
dmraid disk-detect/dmraid/enable
keymap keyboard-configuration/xkb-keymap
preseed-md5 preseed/file/checksum

B.2.5. Examples of boot prompt preseeding

Here are some examples of how the boot prompt might look like (you will need to adapt this to your needs; also see 5.1.7. szakasz - The Boot Screen).

# To set French as language and France as country:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr country=FR --- quiet
# To set English as language and Germany as country, and use a German keyboard layout:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet
# To install the MATE desktop:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet
# To install the web-server task:
/install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web-server ---

B.2.6. Egy DHCP kiszolgáló használata elő-beállító fájlok megadására

DHCP használatával megadható egy hálózatról letöltendő elő-beállító fájl is. A DHCP lehetővé teszi egy fájlnév megadását. Simán ez egy netboot fájl, de ha úgy tűnik: URL, akkor a hálózati előírást támogató telepítő média letölti és elő-beállító fájlként használja a fájlt. Itt egy példa, hogyan állíts be ilyet az ISC DHCP kiszolgáló 3. verziójának (a isc-dhcp-server Debian csomag) dhcpd.conf fájljában.

if substring (option vendor-class-identifier, 0, 3) = "d-i" {
    filename "http://host/preseed.cfg";
}

A fenti példa a magukat d-i néven azonosító DHCP ügyfelekre korlátozza a fájlnevet, így ez nem hat a sima DHCP ügyfelekre csak a telepítőre. Egy idézőjelben megadott szövegben csak egy gép is megadható, a hálózaton lévő össze telepítés előírásának elkerülésére.

A DHCP előírás egy jó módja csak a hálózatra vonatkozó értékek előírása, mind például a Debian tükör. Így a hálózat automatikusan egy jó tükröt kap, emellett a telepítés interaktívan végezhető. A Debian telepítés teljes automatizálását DHCP előírással figyelmesen kell végezni.



[21] Egy debconf változó (vagy sablon) tulajdonosa alapban az adott debconf sablon tartalmazó csomag neve. A telepítő által használt változók tulajdonosa: d-i. Sablonoknak és változóknak több tulajdonosa is lehet, mely segít meghatározni, eltávolíthatók-e a debconf adatbázisból egy csomag törlésekor.