Személyes eszközök
Keresés

 

A InfoWiki wikiből


Tartalomjegyzék

Debian LINUX

A DEBIAN linux bootoláskor az init programot futtatja le, melynek konfigurációs beállításai az /etc/inittab file-ban találhatóak.

A linux úgynevezett futási szintekben (runlevel) gondolkodik. Minden futási szinthez futtatandó programok és szolgáltatások listája tartozik. A debian mivel elsősorban szerverként szokott üzemelni, a 2-es futási szintre lép fel bootolás után (konzolos többfelhasználós üzemmód). Más, desktop célú linux-ok ezzel ellentétben a 5-os futási szintre lépnek (X-Window felület).

Többek között ezen alapértelmezett futási szintet (default runlevel) is az inittab file írja le.

Első lépésben tehát az init program beolvassa az /etc/inittab konfigurációs file-t, és alkalmazza a beállításokat. Ezen konfigurációs beállítások szerint (általában) az első lépés az /etc/init.d/rcS szkript futtatása (kivéve ha -b paraméterrel bootoltatjuk a linux-t (emergency mode)).

Az rcS szkript szemtelen módon nem sok mindent csinál, mindössze elindítja az /etc/init.d/rc szkriptet S paraméterrel (ezzel felkérve hogy az /etc/rcS.d alkönyvtárban található összes szkriptet név szerinti sorrendben futtassa le.

Az /etc/rcS.d szkriptjei a mountolást, modulok betöltését, hálózati szolgáltatásokat indítanak, az órát állítják be, stb. Kompatibilitási okokból az /etc/rc.boot könyvtár tartalmát is futtatja (de ez már elavult dolog, ha valaki oda pakol be szkripteket).

Az rcS-beli szkriptek futtatása után lefutnak az /etc/rc2.d könyvtárbeli szkriptek (feltéve ha 2 a beállított alapértelmezett futtatási szint). Ezzel a bootolási folyamat be is fejeződik.

init helyett upstart

Egyes (újabb) linux-ok, mint az Ubuntu is, nem az init programot használja bootoláskor, hanem az upstart-ot. Ez képes indítási szkripteket párhuzamosan is futtatni, és egyéb fejlesztéseket is tartalmaz.

Futási szintek

  • 0: leállás. Ha egy linux erre a futási szintre lép, akkor leáll, gép kikapcsolható.
  • 1: egyfelhasználós üzemmód, konzolos felületen.
  • 2: többfelhasználós üzemmód, konzolos felületen.
  • 3,4: többfelhasználós üzemmód, konzolos felületen, de különbözhet az indított szolgáltatások listája a 2-estől
  • 5: X-Window felület (egyes esetekben)
  • 6: újraindítás

Valójában csak a 0,1,6 szintek jelentése tekinthető valamennyire szabványosnak. Egyáltalán nem igaz pl, hogy az 5 szint az X-Window felület szintje. Mindössze az X-Window felület indítását az 5-ös szintre teszik leggyakrabban.

A BOOT eljárás működése

  • init program beolvassa az /etc/inittab konfigurációs filet
  • init beállítja az alapértelmezett futtatási szintet
  • /etc/rcS.d-beli szkriptek lefutnak
  • /etc/rc2.d-beli szkriptek lefutnak (ha a 2 az alapértelmezett szint)

Szkriptek belülről

Egy ilyen, bootoláskor használt szkript képes kezelni az alábbi paramétereket:

  • start: indítási kérelem
  • stop: leállítási kérelem
  • restart: újraindítási kérelem
  • reload: a konfigurációs file újraolvasása után restart
  • force-reload: reload ha lehet, ha nem akkor restart

Valójában egy ilyen szkript van a lemezen. Pl az apache szerver inditására az /etc/init.d/apache2 szkript végzi. Az /etc/rc2.d alkönyvtárba nem másolódik át ez a szkript, csak egy link készül, mely erre az eredeti apache kezelő szkriptre mutat. Ezen link vagy 'K' vagy 'S' első betűvel rendelkezik, és egy két számjegyű sorszámmal folytatódik, majd a csomag nevével. Jelen esetben pl. K09apache2 formában.

Szkript sorrend

Egy /etc/rcN.d alkönyvtár (ahol N=0,1,..,6,S) sok szkript-filet tartalmazhat, melyeket az adott futási szintre lépéskor kell végrehajtani valamilyen sorrendben. A szkript file-ok egymáshoz viszonyított sorrendjét a név szerinti rendezés adja meg.

A szkriptek nevei vagy 'S' vagy 'K' karakterrel kezdődnek. Az 'S'=start, 'K'=kill szavakból erednek. Az 'S' szkriptek valamit indítanak, a 'K' szkriptek valamit leállítanak. Ez nem azért van így, mert vannak leállító és indító szkriptek, hanem ezek a betűk definiálják milyen paramétert kell nekik átadni.

Amikor változik a futási szint, akkor először a szóban forgó új futási szint alkönyvtáraiban található 'K' szkriptek hajtódnak végre - leállítják azokat a programokat, amelyek az adott futási szinten nem futhatnak. A 'K' szkriptek paramétereként a stop adódik át. Aztán az 'S'-es szkriptek hajtódnak végre, start parancssori paraméterrel.

A 0 és 6 futási szintek esetén az 'S'-es szkriptek is stop paraméterrel hívódnak meg.

Hernyák Zoltán
A lap eredeti címe: „http://wiki.ektf.hu/wiki/Opr1:page20
Nézetek
nincs sb_3.219.31.204 cikk