B.5. Haladó lehetőségek

B.5.1. Egyéni parancs futtatása telepítéskor

Az előíró eszközök egy nagyon erős és rugalmas lehetősége parancsok vagy szkriptek futtatása a telepítés egyes pontjain.

Amikor a célrendszer fájlrendszere csatolva van, a /target könyvtárban érhető el. Ha telepítési CD/DVD-t használsz, az csatolás után a /cdrom könyvtárban érhető el.

# A d-i előzetes konfigurálás alapvetően nem biztonságos. Az installer nem
# ellenőrzi a puffer túlcsordulási kísérleteket vagy az előkonfigurációs fájl,
# mint ez, értékeinek egyéb kihasználását. Csak megbízható forrásból
# származó előkonfigurációs fájlokat használj! Hogy ezt hangsúlyozzuk,
# és mert általában hasznos, itt van egy mód arra, hogy bármilyen
# shell parancsot futtass automatikusan az installerben.

# Ez az első parancs a lehető legkorábban fut le, közvetlenül azután,
# hogy az előzetes konfigurálás beolvasásra került.
#d-i preseed/early_command string anna-install some-udeb
# Ez a parancs azonnal a partícionáló indulása előtt fut le. Hasznos lehet
# dinamikus partícionáló előzetes konfigurálás alkalmazására, amely a
# lemezek állapotától függ (ami nem biztos, hogy látható, amikor a
# preseed/early_command fut).
#d-i partman/early_command \
#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
# Ez a parancs közvetlenül a telepítés befejezése előtt fut le,
# amikor a /target könyvtár még használható.
# Használhatod közvetlenül a /target környezetbe chroot-olva,
# vagy egyszerűen használhatod az apt-install és in-target parancsokat
# csomagok telepítésére és parancsok futtatására a célrendszeren.
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh

B.5.2. Előírás használata alap értékek módosítására

Lehetőség van az előzetes konfigurálással megváltoztatni egy kérdés alapértelmezett válaszát, de mégis megjeleníteni a kérdést. Ehhez a(z) seen jelzőt false értékre kell állítani, miután beállítottad a kérdés értékét.

d-i foo/bar string value
d-i foo/bar seen false

Ugyanez a hatás érhető el minden kérdés esetén, ha a preseed/interactive=true paramétert állítod be az indítási promptnál. Ez hasznos lehet az előkonfigurációs fájl teszteléséhez vagy hibakereséséhez is.

Figyelj arra, hogy a d-i tulajdonost csak az installerben használt változók esetén használd. Azoknál a változóknál, amelyek a célrendszeren telepített csomagokhoz tartoznak, az adott csomag nevét használd. Lásd a(z) B.2.2. szakasz - Indító paraméterek használata kérdések előírt válaszára lábjegyzetét.

Ha az előzetes konfigurálást indítási paraméterekkel végzed, az installer megkérdezheti a megfelelő kérdést a(z) ?= operátor használatával, például: foo/bar?=value (vagy owner:foo/bar?=value). Ez természetesen csak azokra a paraméterekre lesz hatással, amelyek valóban megjelenő kérdésekhez tartoznak az installáció során, és nem a belső paraméterekre.

Ha több hibakeresési információra van szükséged, használd a(z) DEBCONF_DEBUG=5 indítási paramétert. Ez arra készteti a(z) debconf-ot, hogy sokkal részletesebb információt adjon minden változó aktuális beállításairól és az egyes csomagok telepítési szkriptjeinek előrehaladásáról.

B.5.3. Előíró fájlok lánc-betöltése

Más előíró fájlok is csatolhatók egy előíró fájlból. E fájlok beállításai felülírják a korábban betöltött fájlok beállításait. Ez lehetővé teszi például a helynek megfelelő általános hálózati beállítások elhelyezését egy fájlba és pontosabb beállításokat egyes konfigurációkhoz más fájlokba.

# Több fájl is felsorolható, szóközökkel elválasztva; mindegyik betöltésre kerül.
# A beillesztett fájlok saját preseed/include direktíváikat is tartalmazhatják.
# Fontos: ha a fájlnevek relatívak, akkor ugyanabból a könyvtárból lesznek
# betöltve, mint ahonnan az őket futtató előkonfigurációs fájl származik.
#d-i preseed/include string x.cfg

# Az installer opcionálisan ellenőrizheti az előkonfigurációs fájlok ellenőrző
# összegét, mielőtt felhasználná őket. Jelenleg csak md5sumok
# támogatottak, az md5summokat ugyanabban a sorrendben sorold fel,
# mint a beillesztendő fájlok listáját.
#d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d

# Rugalmasabb megoldásként ez egy shell parancsot futtat, és ha az
# előkonfigurációs fájlok neveit adja vissza, akkor azokat a fájlokat is beilleszti.
#d-i preseed/include_command \
#      string if [ "`hostname`" = bob ]; then echo bob.cfg; fi

# A legrugalmasabb módszer: ez letölt egy programot és lefuttatja azt. A
# program használhat olyan parancsokat, mint a debconf-set, hogy módosítsa
# a debconf adatbázist. Egynél több script is megadható, szóközzel elválasztva.
# Fontos: ha a fájlnevek relatívak, akkor ugyanabból a könyvtárból lesznek
# betöltve, mint ahonnan az őket futtató előkonfigurációs fájl származik.

#d-i preseed/run string foo.sh

Lehetséges lánc-töltés initrd vagy fájl előíró szakaszból, hálózati előírásba a preseed/url beállításával a korábbi fájlokban. Ez egy hálózati előírás végrehajtását adja a hálózat feléledésekor. Ezt óvatosan kell tenni, mert 2 önálló előírás fut, így például kétszer lefuthat a preseed/early parancs, másodszor a hálózat feléledése után.