Provided by:
manpages-hu_20010119-5_all 
N'EV
init, telinit - processz vezerles inicializalasa
'ATTEKINT'ES
/sbin/init [ 0123456Ss ]
/sbin/telinit [ -t sec ] [ 0123456sSQqabcUu ]
LE'IR'AS
Init
Az init minden processz szulje. Az elsdleges szerepe, hogy processzeket
hozzon letre egy szkript alapjan, amely a /etc/inittab fajlban
talalhato (lasd inittab(5)). Ebben a fajlban talalhatok azok a
bejegyzesek amelyek hatasara az init letrehoz gettyket minden vonalon,
amin a felhasznalok be tudnak lepni. E mellett ellenriz autonom
processzeket, amelyekre barmely adott rendszernek szuksege van.
FUT'ASI SZINTEK
A fut'asi szint egy szoftver konfiguracio, amely csak egy meghatarozott
processz csoport letezeset engedi meg. Az, hogy az init milyen
processzeket hozzon letre egy adott futasi szinten a /etc/inittab
fajlban van definialva. Az init nyolc futasi szinten lehet: 0-6 es S
vagy s. Futasi szintet ugy valthatunk, ha egy privilegizalt
felhasznalo futtatja a
telinit programot , amely elkuldi a megfelel jeleket az init-nek,
amibl ez utobbi megtudja melyik futasi szintre kell atvaltania.
A 0, 1 es 6 futasi szintek foglaltak. 0-as futasi szintre valtassal
tudjuk leallitani a rendszert, 6-os futasi szintre valtassal tudjuk
leallitani, es 1-es futasi szinttel leviszzuk "single user mode"-ba
vagyis egy felhasznalo hasznalhatja csak. Az S futasi szintet nem
igazan direkt hasznalatra terveztek, sokkal inkabb azoknak a
szkripteknek amik a 1-es futasi szintre valo belepeskor futnak le.
Tovabbi informacioert lasd a shutdown(8) es inittab(5) kezikonyv
oldlakat.
A 7-9 futasi szintek is ertelmesek, de nincsenek igazan dokumentalva.
Ez azert van, mert a "tradicionalis" UNIX valtozatok nem hasznaltak
ket. Ha kivancsi vagy, az S es s futasi szintek igazabol megegyeznek.
Bels aliaszokrol van szo, amik ugyanarra a futasi szintre mutatnak.
BOOTOL'AS
Miutan az init meghivodik, a kernel boot szekvencia utolso lepesekent,
megnezi a /etc/inittab fajlt, hogy van-e benne initdefault tipusu
bejegyzes (lasd inittab(5)). Az initdefault bejegyzes hatarozza meg a
renszer alapertelmezett futasi szintjet. Ha nincs ilyen bejegyzes (vagy
abszolut nincs /etc/inittab fajl), a futasi szintet a konzolon kell
megadni.
Az S es s futasi szintek "single user mode"-ba allitjak a rendszert,
ilyenkor nem kell /etc/initttab fajl. "Single user mode"-ban az op.
renszer a /sbin/sulogin-t hivja meg a /dev/console-on.
"Single user mode"-ba valo belepeskor az init leolvassa a konzol
ioctl(2) allapotat a /etc/ioctl.save fajlbol. Ha nincs ilyen fajl, az
init inicializalja a vonalat 9600 baud-al es CLOCAL beallitasokkal.
Amikor az init elhagyja a "single user mode"-ot, eltarolja a konzol
ioctl beallitasait a mar emlitett fajlba, igy ezek ujrahasznalhatok a
lekozelebbi alkalommal.
Amikor elszor lepunk "multi-user mode"-ba (tobb felhasznalos modba), az
init vegrehajtja a boot es a bootwait bejegyzeseket. Ez megengedi, hogy
az operacios rendszer felcsatlakoztassa (mount-olja) a
fajlrendszereket, mieltt a felhasznalok bejelenkeznenek. Ezek utan a
futasi szintnek megfelel bejegyzesek kerulnek vegrehajtasra.
Amikor uj processzt indit, az init megnezi, hogy letezik-e a
/etc/initscript fajl. Ha igen, ezt a szkriptet hasznalja a processz
inditasahoz.
Mindig amikor egy gyermek processz veget er, az init rogziti ezt a
tenyt es a halal okat a /var/run/utmp es /var/log/wtmp fajlokba, ha
ezek leteznek.
FUT'ASI SZINT V'ALT'AS
Miutan letrehozta az osszes megadott processzt, az init varja, hogy
valamelyik leszarmazott processze meghaljon, hogy elmenjen az aram
("powerfail" jel), vagy hogy a telinit futasi szint valtast kerjen. Ha
a fent emlitett harom lehetseg kozul valamelyik megtortenik, az init
ujraolvassa a /etc/inittab fajlt. A fajlhoz adhatunk barmikor uj
bejegyzeseket. Ettl fuggetlenul az init mindig a fent emlitett harom
eset egyikere var. Ha mi akarjuk elidezni a frissitest, a telinit Q
vagy q parancs felebresztheti az initet, hogy az ujraolvassa a
/etc/inittab fajlt.
Ha az init nem "single user"-ben van, es aramkimaradast jelz jelet kap
(SIGPWR), elolvassa a /etc/powerstatus fajlt. Ekkor elindit egy
utasitast a mar emlitett fajl tartalma alapjan.
F(AIL) Az aram kimaradt, UPS (szunetmentes tap) adja az aramot.
Lefutnak a powerwait es powerfail bejegyzesek.
O(K) Az aramszolgaltatas visszaallt. Lefutnak a powerokwait
bejegyzesek.
L(OW) Az aram kimaradt es a szunetmentes akkumulatorai is lemerultek.
Lefutnak a powerfailnow bejegyzesek.
Ha a /etc/powestatus nem letezik, vagy a F, O vagy L betktl elter
ertekeket tartalmaz, az init ugy viselkedik, mintha F bett olvasott
volna.
A SIGPWR es a /etc/powerstatus hasznalata nem javasolt. Ha valaki az
init-tel akar "beszelni" inkabb a /dev/initctl vezerl csatornat
hasznalja - tobb dokumentacioert lasd a sysvinit csomag forraskodjat.
Amikor az init-tl futasi szint valtast kerunk, ez elszor egy
figyelmeztet SIGTERM jelet kuld minden processznek, ami nincs a cel
futasi szinten definialva. Ez utan var 5 masodpercet, mieltt erszakkal
megolne a szoban forgo processzeket a SIGKILL jellel. Megjegyzes: az
init feltetelezi, hogy az osszes szoban forgo processz (es a
leszarmazottaik is) ugyan abban a processz csoportban maradnak, amit az
init eredetileg letrehozott nekik. Ha egy processz megvaltoztatja a
processz csoportjat, a leszarmazottai mar nem kapjak meg az init altal
kuldott jeleket. Ezeket a processzeket kulon kell leallitani.
TELINIT
A /sbin/telinit a /sbin/init-hez van kapcsolva (linkelve). Egy
karakteres argumentumot adhatunk neki, es tobabbitja a megfelel
jeleket az init fele. A kovetkez argumentumok iranyadoak a
telinit-nek:
0,1,2,3,4,5 vagy 6
megmondja az init-nek, hogy valtson az adott futasi szintre.
a,b,c megmondja az init-nek, hogy csak azokat a bejegyzeseket hajtsa
vegre a /etc/inittab fajlbol amelyeknek a,b vagy c futasi
szintjuk van.
Q vagy q
megmondja az init-nek, hogy olvassa ujra a /etc/inittab fajlt.
S vagy s
megmondja az init-nek, hogy valtson "single user mode"-ba.
U or u megmondja az init-nek, hogy induljon ujra (megtartja az
allapotat). Nem olvassa ujra a /etc/inittab-ot. A futasi szint a
kovetkezk egyike kell legyen: Ss12345. Ettl elter esetben a
kerest a program csendesen figyelmen kivul hagyja.
A telinit megmondhatja az init-nek, hogy mennyit varjon a SIGTERM es
SIGKILL jelek kuldese kozott. Az alapertelmezett idintervallum 5
masodperc, de megvaltoztathato a -t sec opcioval.
A telinit-et csak a megfelel privilegiummal rendelkez felhasznalok
hivhatjak meg.
Az init binarisan ellenrzi, hogy az init vagy telinit-e, a processz id
vizsgalataval; az igazi init processz id-je mindig 1. Ebbl az
kovetkezik, hogy a telinit helyett meghivhatjuk egyszeren az init-et.
K"ORNYEZET
Az init beallitja a kovetkez kornyezeti valtozokat minden gyermekenel:
PATH /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
INIT_VERSION
A neve magaert beszel. Hasznos, ha meg akarjuk allapitani, hogy
egy szkript egyenesen az init-tl szarmazik-e.
RUNLEVEL
A rendszer aktualis futasi szintje.
PREVLEVEL
Az elz futasi szint (futasi szint valtas utan hasznos).
CONSOLE
A rendszerkonzol. Ez altalaban a kerneltl orokldik. Ha megsincs
beallitva, az init alapertelmezesben /dev/console-ra allitja.
OPCI'OK BOOTOL'ASKOR
Bootolaskor at lehet adni, a boot monitoron keresztul (pl. LILO), az
init-nek nehany opciot. Az init a kovetkez kapcsolokat fogadja el:
S, single
"Single user mode" boot. Ebben a modban az init megnezi a
/etc/inittab-ot es a bootolaskor futtatando rc szkriptek
vegrehajtasra kerulnek a "single user mode"-ba valo lepes eltt.
1-5 Bootolas utan valasztott futasi szint.
-b, emergency
Egyenesen "single user"-be jon fel ("single user" shell-t indit).
Nem futtat semmilyen indulaskor egyebkent lefuto szkriptet.
INTERF'ESZ
Az init egy fifo-n keresztul fulel a /dev-ben, /dev/initctl-en, itt
varja az uzeneteket. Ezt hasznalja a telinit amikor az inittel
kommunikal. Az interfesz nincs tul jol dokumentalva es fejlesztes
alatt all. Az erdekldk az initreq.h fajlt tanulmanyozhatjak az init
src/ alkonyvtaraban, a forras tar archivumaban.
JELEK (SIGNALS)
Az init a kovetkez jelekre reagal:
SIGHUP
Az init megnezi, hogy leteznek-e a /etc/initrunlvl es
/var/log/initrunlvl fajlok. Ha ezek kozul az egyik letezik es egy
ASCII runlevelt tartalmaz, az init bevalt ebbe a runlevelbe.
Ez csak a visszafel'e kompatibilit'as miatt van 'igy! . Normalis
esetben (nem leteznek a fajlok) az init ugy viselkedik mint a
telinit q.
SIGUSR1
Erre a jelre az init bezarja, majd ujra megnyitja a vezerl
fifojat, /dev/initctl-t. Hasznos bootszkriptek eseteben amikor a
/dev-et ujracsatlakoztatjuk (ujramountoljuk).
SIGINT
Normalis esetben a kernel akkor kuldi ezt a jelet az initnek, ha
megnyomjuk a CTRL-ALT-DEL gombokat. Ez aktivalja a ctrlaltdel
bejegyzest.
SIGWINCH
A kernel akkor kuldi ezt a jelet amikor a KeyboardSignal gombot
megnyomjuk. Ez aktivalja a kbrequest bejegyzest.
KOMPATIBILIT'AS
Az init kompatibilis a System V inittel. Szorosan egyuttmkodik a
/etc/init.d es a /etc/rc{runlevel}.d konyvtarakban talalhato
szkriptekkel. Ha a rendszered ezt a konvenciot hasznalja, kell hogy
legyen a /etc/init.d konyvtarban egy README nev fajl ami leirja, hogy
hogy mkodnek ezek a szkriptek.
F'AJLOK
/etc/inittab
/etc/initscript
/dev/console
/etc/ioctl.save
/var/run/utmp
/var/log/wtmp
/dev/initctl
FIGYELMEZTET'ESEK
Az init feltetelezi, hogy a processzek es leszarmazottjaik ugyanabban a
processz csoportban maradnak, ami eredetileg nekik jott letre. Ha a
processzek megvaltoztatjak a csoportjukat, az init nem tudja megolni
ket. A vegeredmeny lehet ket, egy terminal vonalrol olvaso processz.
DIAGNOSZTIKA
Ha az init eszreveszi, hogy folyamatosan ujra letrehoz egy adott
bejegyzest tobb mint 10-szer 2 perc alatt, ugy fogja venni, hogy hiba
van a megadott parancssorban. General egy hibauzenetet a konzolra, es
nem inditja ujra a bejegyzesben szerepl programot 5 percig vagy addig,
amig nem kap egy jelet. Ezzel megelzhet, hogy az init rendszer
erforrasokat foglaljon le csak azert, mert valaki szintaktikai hibat
ejtett a /etc/inittab fajlban, vagy mert a bejegyzesben szerepl
programot toroltek.
SZERZK
Miquel van Smoorenburg (miquels@cistron.nl), eredeti kezikony oldalat
irta Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).
'ASD M'EG
getty(1), login(1), sh(1), who(1), shutdown(8), kill(1), inittab(5),
initscript(5), utmp(5)
MAGYAR FORD'IT'AS
Kovacs Emese <emese@eik.bme.hu>
1998. marcius 9. INIT(8)