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
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:
(vagy 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. owner
:foo/bar
?=value
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.
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.