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

Először egy elő-beállító fájl létrehozása és elhelyezése szükséges oda, ahonnan majd használni kívánod. Az elő-beállító fájl létrehozása alább. A megfelelő elhelyezés egyszerű hálózati előírásnál vagy ha a fájlt flopiról vagy usb-tárról kívánod olvasni. CD vagy DVD esetén újra kell gyártani az ISO képet. Az elő-beállító initrd fájlba helyezése kívül esik e dokumentum célján; lásd a fejlesztői dokumentáció debian-installer részét.

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

Más előíró módoknál meg kell mondani a telepítőnek, milyen fájlt használjon induláskor. Ez átadható a kernelnek egy indító paraméterrel akár kézzel indításkor vagy a boot-betöltő beállító fájl (például syslinux.cfg) szerkesztésével és a paraméter hozzáadásával a függelék sor(ok) végéhez a kernelnek.

Egy elő-beállító fájl megadásakor a boot-betöltő konfigurációnak, beállíthatod, hogy ne kelljen leütni az Enter billentyűt a telepítő indításához. A syslinux esetén erre például az 1 határidő megadása alkalmas 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.

Megadandó indító paraméterek:
- hálózati indításkor:
  preseed/url=http://host/path/to/preseed.cfg
  preseed/url/checksum=5da499872becccfeda2c4872f9171c3d

- újrakészített CD-kép esetén:
  preseed/file=/cdrom/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

- USB telepítéskor (tedd az elő-beállító fájlt az USB tár gyökerébe):
  preseed/file=/hd-media/preseed.cfg
  preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

A preseed/url röviden url, a preseed/file pedig file mikor indító paraméterekként kerülnek átadásra.

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[20] 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.

Jó tudni, hogy egyes változóknak rövid neve is van. Ilyenkor ezeket használjuk. Például a preseed/url változó álneve url és van pár rövid url trükkje. Vagy a tasks a tasksel:tasksel/first rövidítése.

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

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

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ő néhány képessége egyszerű parancsokkal tetszőlegese összetett egyéni automata telepítést végez. Í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/etch/./preseed.cfg.

Az url utolsó része (d-i/etch/./preseed.cfg) innen jön: auto-install/defaultroot. Alapban tartalmazza az etch 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/etch/./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 indító címke nincs megadva minden architektúrán. Hasonló hatás érhető így: auto=true priority=critical. Az auto az auto-install/enable egy álneve és felelős a helyi beállítások és billentyűzet kérdések elhalasztásáért az előírás lehetőségig, a priority a debconf/priority egy álneve és kritikus értékre állítása meggátolja az alacsonyabb elsőbbségű kérdések feltevését.

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

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

Az alábbi álnevek használhatók az (automata módú) előírásnál.

auto auto-install/enable
classes auto-install/classes
fb debian-installer/framebuffer
locale debian-installer/locale
priority debconf/priority
fájl preseed/file
url preseed/url
interface netcfg/choose_interface
hostname    netcfg/get_hostname
domain netcfg/get_domain
protocol mirror/protocol
suite mirror/suite

B.2.5. 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 dhcp3-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.



[20] 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.