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

Először létre kell hoznod egy előkonfigurációs fájlt, és el kell helyezned abban a helyen, ahonnan használni szeretnéd. Az előkonfigurációs fájl létrehozása később kerül bemutatásra ebben a függelékben. A fájl megfelelő helyre tétele viszonylag egyszerű hálózati előzetes konfigurálás esetén vagy ha a fájlt egy USB-meghajtóról szeretnéd beolvasni. Ha a fájlt egy telepítési ISO képfájlba szeretnéd beilleszteni, újra kell készítened a képet. Az, hogy hogyan kerül az előkonfigurációs fájl az initrd-be, ezen dokumentum hatókörén kívül esik; kérlek, tekintsd meg a debian-installer fejlesztői dokumentációját.

Egy példa elő-beállító fájl, mely sajátod alapjául szolgálhat elérhető innen: ../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.

A többi előzetes konfigurációs módszerhez meg kell mondanod a telepítőnek, hogy melyik fájlt használja, amikor elindítod. Ezt általában úgy teheted meg, hogy egy indítási paramétert adsz át a kernelnek, akár manuálisan indításkor, akár a bootloader konfigurációs fájl szerkesztésével (pl. syslinux.cfg), és hozzáadva a paramétert a kernelhez tartozó append sor(ok) végére.

Ha megadod az előkonfigurációs fájlt a bootloader konfigurációjában, módosíthatod a beállítást úgy, hogy ne kelljen entert nyomnod a telepítő elindításához. A syslinux esetén ez azt jelenti, hogy az időzítést 1 értékre kell állítania a syslinux.cfg fájlban.

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.

Indítási paraméterek megadása:

- ha hálózatról bootolsz:
  preseed/url=http://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d
- vagy
  preseed/url=tftp://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d

- ha újramasterelt telepítési képről bootolsz:
  preseed/file=/cdrom/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

- ha USB adathordozóról telepítesz (helyezd az előkonfigurációs fájlt az USB-meghajtó legfelső szintű könyvtárába):
  preseed/file=/hd-media/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

Figyelj arra, hogy a preseed/url rövidíthető url-re, a preseed/file pedig file-ra, és a preseed/file/checksum preseed-md5-re, amikor rendszerindítási paraméterként adod meg őket.

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.

Ha egy értéket a debian-installer rendszeren belül szeretnél beállítani, egyszerűen add meg így: elérési/út/a/változóhoz=érték, a példákban szereplő preseed változók bármelyikére, ebben a függelékben. Ha az értéket a célrendszer csomagjainak konfigurálására használod, meg kell előznie a változót annak tulajdonosa[19], például így: tulajdonos:elérési/út/a/változóhoz=érték. Ha nem adsz meg tulajdonost, akkor a változó értéke nem másolódik át a célrendszer debconf adatbázisába, így az adott csomag konfigurálása során nem kerül felhasználásra.

Általában, ha így adsz meg egy kérdést előre, az azt jelenti, hogy a kérdést nem fogja a telepítő feltenni. Ha szeretnél egy konkrét alapértelmezett értéket beállítani egy kérdéshez, de mégis azt szeretnéd, hogy a kérdést feltegye, akkor a = operátor helyett használd a ?=-t. Lásd még a(z) B.5.2. szakasz - Előírás használata alap értékek módosítására részt is.

Megjegyzés: néhány változónak, amelyeket gyakran állítanak be a boot promptnál, rövidebb aliasa van. Ha van alias, akkor ebben a függelékben az alias szerepel a példákban a teljes változó helyett. Például a preseed/url változó aliasaként url szerepel. Egy másik példa a tasks alias, amely a tasksel:tasksel/first-re fordítódik.

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

A Debian telepítőnek több olyan funkciója van, amelyek lehetővé teszik, hogy viszonylag egyszerű parancssorok a boot promptnál tetszőlegesen összetett, testreszabott automatikus telepítéseket eredményezzenek.

Ezt úgy lehet bekapcsolni, hogy a rendszerindításnál az Automated install lehetőséget választod, amit bizonyos architektúráknál vagy indítási módoknál auto-nak is hívnak. Ebben a részben az auto tehát nem egy paramétert jelent, hanem azt, hogy ezt az indítási lehetőséget választod, és a következő rendszerindítási paramétereket adod meg az indítási képernyőn. Lásd a 5.1.5. szakasz - Az Indítóképernyő részt, ha szeretnéd megtudni, hogyan adhatsz meg rendszerindítási paramétereket.

Í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/trixie/./preseed.cfg.

Az url utolsó része (d-i/trixie/./preseed.cfg) innen jön: auto-install/defaultroot. Alapban tartalmazza az trixie 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/trixie/./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.

Az auto boot választás még nincs minden architektúrára definiálva. Ugyanazt a hatást érheted el, ha egyszerűen hozzáadod a két paramétert auto=true priority=critical a kernel parancssorához. Az auto kernel paraméter az auto-install/enable aliasa, és ha true-ra állítod, akkor késlelteti a nyelvi és billentyűzetkérdéseket, amíg lehetőség nem nyílik ezek előzetes megválaszolására, míg a priority a debconf/priority aliasa, és ha critical-ra állítod, akkor megakadályozza, hogy alacsonyabb prioritású kérdéseket tegyenek fel.

Amikor egy automatikus telepítést választasz anélkül, hogy előre beállított konfigurációt is megadnál, a rendszer kérni fogja, hogy adj meg egy előbeállítási helyet. Alternatívaként, ha egy előre beállított konfiguráció már meg van adva, akkor ez a kérés általában elnyomásra kerül, hogy lehetővé tegye a teljesen interaktív telepítést. Azonban ha az a cél, hogy alapértelmezéseket módosíts előbeállításokkal egy preseed.cfg fájl használatával az initrd-ben, akkor a végeredménynek úgy kellene viselkednie, mintha még nem lett volna előbeállítás megadva, még akkor is, ha már meg van. Ebben az esetben a debconf változót auto-install/cloak_initrd_preseed beállíthatod true értékre (például az initrd preseed.cfg fájljában), hogy elérd a kívánt viselkedést.

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

A következő aliasok hasznosak lehetnek, ha (automata módban) előzetes megválaszolást használsz. Fontos megjegyezni, hogy ezek egyszerűen rövid aliasok a kérdésnevekhez, és mindig meg kell adnod egy értéket is: például auto=true vagy interface=eth0.

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

B.2.5. Indítási prompt előzetes konfigurálásának példái

Íme néhány példa arra, hogyan nézhet ki az indítási prompt (ezt a saját igényeidhez kell igazítanod; lásd még 5.1.5. szakasz - Az Indítóképernyő).

# Francia nyelv és Franciaország mint ország beállításához:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr country=FR --- quiet
# Angol nyelv és Németország mint ország beállításához, német billentyűzetkiosztással:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet
# A MATE asztali környezet telepítéséhez:
/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet
# A web-szerver feladat telepítéséhez:
/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.



[19] Egy debconf változó (vagy sablon) tulajdonosa általában az a csomag, amely a megfelelő debconf sablont tartalmazza. Az installáló saját változóinál a tulajdonos neve d-i. A sablonoknak és változóknak több tulajdonosa is lehet, ami segít eldönteni, hogy eltávolíthatók-e a debconf adatbázisból a csomag törlésekor.