Személyes eszközök
Keresés

 

A InfoWiki wikiből

(Változatok közti eltérés)
(Új oldal, tartalma: „<cim cim3="Linux BOOT" cim2="Információk" cim1="Oeprációs Rendszerek I." prev="opr1:Nyitolap" next="mp1:page04" kep="hz_csik.png" back="op...”)
(Szkript sorrend)
48. sor: 48. sor:
* ''/etc/rc2.d''-beli szkriptek lefutnak (ha a 2 az alapértelmezett szint)
* ''/etc/rc2.d''-beli szkriptek lefutnak (ha a 2 az alapértelmezett szint)
-
== Szkript sorrend ==
+
== Szkriptek belülről ==
-
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.
+
Egy ilyen, bootoláskor használt szkript képes kezelni az alábbi paramétereket:
-
 
+
-
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.
+
-
 
+
-
Minden ilyen szkript képes kezelni az alábbi paramétereket:
+
* start: indítási kérelem
* start: indítási kérelem
* stop: leállítási kérelem
* stop: leállítási kérelem
61. sor: 57. sor:
* force-reload: reload ha lehet, ha nem akkor restart
* force-reload: reload ha lehet, ha nem akkor restart
-
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 szkriptke hajtódnak végre, ''start'' parancssori paraméterrel.
+
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.
A 0 és 6 futási szintek esetén az 'S'-es szkriptek is ''stop'' paraméterrel hívódnak meg.
<alairas>Hernyák Zoltán</alairas>
<alairas>Hernyák Zoltán</alairas>

A lap 2009. február 20., 19:47-kori változata


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.141.24.134 cikk