Az init finomhangolása
A /etc/inittab fájl tartalmazza az init-re vonatkozó beállításokat, amelyekkel szintén befolyásolhatók az egyes futási szintek.
Alap futási szint beállítása:
id:2:initdefault:
A szerviz szint kivételével, az összes többi futási szint esetén lefuttatásra kerülnek az alábbi könyvtárban elhelyezkedő script fájlok:
si::sysinit:/etc/init.d/rcS
Azaz a /etc/rcS könyvtárba tárolt fájlok mindenképpen lefutnak függetlenül attól, hogy melyik futási szinten indul el a gép.
Az alábbi sorral lehet root jelszót kérni a szerviz üzemmódra lépéskor:
~~:S:wait:/sbin/sulogin
Megadható, hogy az egyes futási szintek indulásakor milyen program/script induljon el és milyen paraméterekkel:
l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6
A megadott script az „/etc/rcX.d” könyvtárban elhelyezett programokat indítja el vagy állítja meg. A “K” betűvel kezdődőeket leállítja (kill), az “S” betűseket pedig elindítja (start). Futási szintre lépéskor előbb a leállításokat hajtja végre, majd utána az elindításokat. Az S/K után két szám következik (sorrend meghatározása), majd jön a program neve. Ha a sorszámok azonosak, akkor azok a programok az ábécé sorrendje alapján kerülnek futtatása.
Beállítható, hogy a CTRL+ALT+DEL billentyűkombinációra mi történjen:
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
UPS jelzéseire történő reagálást a következő sorok adják meg:
pf::powerwait:/etc/init.d/powerfail start pn::powerfailnow:/etc/init.d/powerfail now po::powerokwait:/etc/init.d/powerfail stop
A konzolok számát a következőképpen adhatjuk meg:
azonosító:futásszint:tevékenység:processz 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6
Alapesetben 6 darab terminálon tudunk bejelentkezni a rendszerbe, de ezt akár növelhetjük vagy csökkenthetjük, igény szerint. Maximálisan 63 konzolt hozhatunk létre.
A futásszint mezőben lehet megadni, hogy melyik futási szinten legyen elérhető az aktuálisan megadott konzol.
A tevékenység mezőben adható meg, hogy milyen feltételekkel fusson le a processz mezőben megadott program, ilyen lehet például:
respawn | A program automatikusan újraindul megállása után. | |
wait | A processz akkor indul el, amikor a megadott futási szintre lép a rendszer, és az init addig vár, amíg a processz fut. | |
once | Csak egyszer, a futási szintre lépéskor indul el | |
boot | A process a rendszer újraindulása közben indul el (a megadott futási szint lényegtelen ilyenkor). | |
bootwait | A processzt a rendszer indulása közben indítja el, az init megvárja amíg lefut. | |
initdefault | Az initdefault bejegyzést azt adja meg, hogy a rendszer induláskor melyik futási szintre lép automatikusan, ha nem adjuk meg, akkor az init bekéri a konzolról. | |
sysinit | A processz a rendszer újraindítása alatt hajtódik végre, mégpedig a boot és a bootwait bejegyzés előtt. Az init ilyenkor megvárja, hogy a processz befejeződjön, mielőbb továbbmenne. | |
ctrlaltdel | A processz akkor hajtódik végre, ha az init SIGINT szignált kap. Ez azt jelenti, hogy a rendszer valamelyik konzolján valaki lenyomta a CTRL+ALT+DEL billentyűkombinációt. Ez általában a rendszer valamiféle leállását okozza: egyfelhasználós módra történő váltás, újraindítás vagy leállítás. |
A processz mezőben adható meg, hogy melyik program induljon el. Ha a processz mező „+” jellel kezdődik, akkor az init nem készít bejegyzést az utmp és a wtmp fájlokban a processzről.
Ha megváltoztattuk az /etc/inittab fájlt, akkor ajánlatos az init programmal újraolvastatni a tartalmát, hogy tovább az új beállításokkal fusson:
root@bash# init q root@bash#
vagy
root@bash# kill -HUP 1 root@bash#
S már érvénybe is lépett az új beállítás.
Még érdemes egy szösszenet erejéig meglesni a /etc/rc.local fájlt. E fájl minden többfelhasználós futási szint (azaz a single-user/recovery módok kivételével) végén lefut. Alap telepítés esetén nem csinál semmit, de lehetőségünk van módosítani, parancsokat elhelyezni benne.
A (K)ubuntu rendszerek már nem a “sima” SystemV init-et használják, áttértek az upstart-ra, ami egy event-alapú init rendszer és a beállító fájljai a /etc/event.d/ könyvtárban találhatók meg.