% inittabl.tex. this is new to the SSC edition, 12/8/97 -- rak
%
% Copyright (c) 1998 by Specialized Systems Consultants Inc. 
% <ligs@ssc.com>


\section{Datoteka \texttt{/etc/inittab}} \label{sec-inittab}
%\markboth{Sistemsko upravljanje}{Datoteka \texttt{/etc/inittab}
Takoj ko se Linux zažene in jedro priklopi korenski datotečni sistem,
je prvi program, ki ga sistem izvede, \texttt{init}.  Ta program je
odgovoren za poganjanje sistemskih začetnih skriptov in spremeni
delovanje sistema iz njegovega prvotnega zagonskega stanja v
standardno, večuporabniško stanje.  Program \texttt{init} tudi požene
prijavne ukazne lupine na vseh napravah \texttt{tty} na sistemu in
določa druge začetne in ustavitvene postopke.

Ko se zažene, \texttt{init} ostaja tiho v ozadju, pregleduje, in če je
potrebno, spreminja tekoče stanje sistema.  Obstaja veliko
podrobnosti, na katere mora gledati program \texttt{init}.  Ta
opravila so definirana v datoteki \texttt{/etc/inittab}.  Primer
datoteke \texttt{/etc/inittab} je prikazan spodaj.

\blackdiamond
Nepravilno spreminjanje datoteke \texttt{/etc/inittab} vam lahko
onemogoči prijavo v vaš sistem.  Kot minimum, ko spreminjate datoteko
\texttt{/etc/inittab}, imejte v roki izvod originala, pravilno
datoteko in zagonsko/korensko rešilno disketo, če slučajno naredite
napako.

\begin{tscreen}
\begin{verbatim}
#
# inittab       Ta datoteka opisuje, kako naj bi procesi INIT
#               nastavili sistem za delovanje določenega
#               načina delovanja (angl. run-level).
#
# Različica:    @(#)inittab    2.04    17/05/93        MvS
#                              2.10    02/10/95        PV
#
# Avtor:        Miquel van Smoorenburg,
#                   <miquels@drinkel.nl.mugnet.org>
# Spremenil:    Patrick J. Volkerding,
#                    <volkerdi@ftp.cdrom.com>
# Manjše popravke naredil:
#               Robert Kiesling, <kiesling@terracom.net>
#
# Privzeti način delovanja.
id:3:initdefault:

# Sistemska inicializacija (teče, ko se sistem zaganja).
si:S:sysinit:/etc/rc.d/rc.S

# Skript za preklop v enouporabniški način (način delovanja 1).
su:1S:wait:/etc/rc.d/rc.K

# Skript za preklop v večuporabniški način.
rc:23456:wait:/etc/rc.d/rc.M

# Kaj storiti ob Ctrl-Alt-Del
ca::ctrlaltdel:/sbin/shutdown -t5 -rfn now

# Način delovanja 0 zaustavi sistem.
l0:0:wait:/etc/rc.d/rc.0

# Način delovanja 6 ponovno zažene sistem.
l6:6:wait:/etc/rc.d/rc.6

# Kaj storiti, ko zmanjka električne napetosti (izključitev
# sistema v enouporabniški način).
pf::powerfail:/sbin/shutdown -f +5 "ZMANJKUJE NAPETOSTI"

# Če se napetost vrne pred ugasnitvijo (angl. shutdown),
# prekliči tekoče ugašanje.
pg:0123456:powerokwait:/sbin/shutdown -c "NAPETOST SE JE VRNILA"

# Če se napetost vrne v enouporabniškem načinu, se vrni
# v večuporabniški način.
ps:S:powerokwait:/sbin/init 5

# Getty-ji v večuporabniškem načinu na konzolah in zaporednih
# linijah.
#
# POZOR POZOR POZOR - Nastavite to na vaš getty, sicer se ne
#                     boste mogli prijaviti!!
#
# Pazite: za 'agetty' uporabljate obliko hitrost-linije, linija.
# Za 'getty_ps' uporabljate linija, hitrost-linije in tudi
# uporabite 'gettydefs'
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux

# Zaporedne linije
# s1:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt100
s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100

# Klicne linije
d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100

# Način delovanja 4 je bil včasih sistem le z X-window,
# dokler nismo ugotovili, da vrže init v zanko, ki vseskozi
# vzdržuje vašo povprečno obremenjenost vsaj na 1.  Torej je
# zdaj odprta prijavna seja z getty na tty6.  Upajmo, da ne
# bo nihče opazil. ;^)
# Morda tako ali tako ni slabo imeti vsaj eno tekstovno konzolo,
# za vsak slučaj, če se kaj zgodi z X.
x1:4:wait:/etc/rc.d/rc.4

# Konec datoteke /etc/inittab
\end{verbatim}
\end{tscreen}

Ob začetku ta \texttt{/etc/inittab} požene šest navideznih konzol,
prijavni pozornik za modem, priključen na \texttt{/dev/ttyS0}, in
prijavni pozornik za znakovni terminal, povezan po zaporedni liniji
RS-232 na \texttt{/dev/ttyS1}.

Na kratko, \texttt{init} stopa skozi vrsto \textbf{načinov delovanja}
(angl.\ run levels), ki ustrezajo različnim delovnim stanjem sistema.
V način delovanja~1 se vstopi takoj, ko se sistem zažene, načina
delovanja~2 in~3 sta običajna, večopravilna delovna načina sistema,
način delovanja~4 požene X Window System s prikaznim upravljalnikom
\texttt{xdm} in način delovanja~6 ponovno zažene sistem.  Načini
delovanja, povezani z vsakim ukazom, so druge postavke v vsaki vrstici
datoteke \texttt{/etc/inittab}.

Na primer, vrstica
\begin{tscreen}
s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
\end{tscreen}

bo vzdrževala prijavni pozornik na zaporednem terminalu za načine
delovanja 1--5.  Postavka >>\texttt{s2}<< pred prvim dvopičjem je
simbolni identifikator, ki ga interno uporablja \texttt{init}.
Postavka \texttt{respawn} je ključna beseda programa \texttt{init}, ki
se pogosto uporablja v povezavi z zaporednimi terminali.  Če po
določenem časovnem obdobju program \texttt{agetty}, ki poraja
terminalski prijavni pozornik, ne prejme vhoda s terminala, se čas
programu izteče in izvajanje se prekine.  Postavka
>>\texttt{respawn}<< pove \texttt{init}-u, naj spet izvede
\texttt{agetty} ter tako zagotovi, da je na terminalu vedno prijavni
pozornik, ne glede na to, ali je kdo prijavljen ali ne.  Ostali
parametri se predajo neposredno programu \texttt{agetty} in mu povedo,
naj porodi prijavno ukazno lupino, podatkovno hitrost zaporedne
linije, zaporedno napravo in terminalski tip, kot so definirani v
datoteki \texttt{/etc/termcap} ali
\texttt{/etc/terminfo}.

Program \texttt{/sbin/agetty} ureja mnoge podrobnosti, povezane s
terminalskim vhodom/izhodom sistema.  Obstaja nekaj različic, ki se
uporabljajo na sistemih Linux.  Te vključujejo \texttt{mgetty},
\texttt{psgetty} ali preprosto \texttt{getty}.

V primeru vrstice v \texttt{/etc/inittab}
\begin{tscreen}
\footnotesize
d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
\normalsize
\end{tscreen}
ki dovoljuje uporabnikom prijavo po modemu, priključenem na zaporedno
linijo \texttt{/dev/ttyS0}, so parametri za \texttt{/sbin/agetty}
enaki >>\texttt{-mt60}<<, kar dovoljuje sistemu, da se sprehodi skozi
vse hitrosti modema, ki jih lahko uporablja klicoči, ko se prijavlja v
sistem, in da ustavi \texttt{/sbin/agetty}, če po 60 sekundah še ni
povezave.  Temu se reče \textbf{dogovarjanje} povezave.  Podprte
hitrosti modema so naštete tudi v ukazni vrstici, kot tudi zaporedna
linija za uporabo in terminalski tip.  Seveda, oba modema morata
podpirati hitrost prenosa podatkov, za katero se stroja končno
dogovorita.

V tem razdelku smo prezrli mnoge pomembne podrobnosti.  Opravila, ki
jih vzdržuje \texttt{/etc/inittab}, bi lahko sestavljala svojo knjigo.
Za nadaljnje informacije so dobre začetne točke strani priročnika o
programih \texttt{init} in \texttt{agetty} in spis \emph{Serial HOWTO}
Dokumentacijskega projekta za Linux.  Dostopen je iz virov, naštetih v
dodatku~\ref{app-sources-num}.
