Das init Programm und die /etc/inittab

Das Programm init ist der fuer die korrekte Initialisierung des Systems zustaendige Prozess. init wird direkt vom Kernel gestartet und ist durch das Signal 9 nicht zu beenden. Alle weiteren Prozesse werden entweder von init selbst oder von einem seiner „Kindprozesse“ gestartet. „Init ist der Vater aller Prozesse“ .

Der gesamte Start des Systems und natuerlich auch das Herunterfahren wird allein vom init-Prozess gesteuert. Die Inittab Datei enthaelt die konfiguration des init Programms. Sie beschreibt welche Prozesse beim Systemstart gestartet werden und welche whaerend der verschiedenen Betriebszustaende(runlevel) laufen. Init kennt verschiedene Runlevel(Betriebszustaende) in welchen voellig verschiedene Prozesse laufen koennen. Gueltige Runlevel sind 0,1,2,3,4,5,6 sowie A,B,C fuer spezielle Faelle. Feststellen in welchem Runlevel(Betriebszustand) das laufende System ist kann man bei einem Debian System mit:
$ runlevel

Eine komplette /etc/inittab ist unten abgebildet.
Eine besonderheit in dieser ist das darin ueber 20 Konsolen Gestartet werden.

Die verschiedenen Konsolen sind mit der Tastatur ueber ALT-F1 bis ALT-F12(tty1 bis tty12) sowie ALT-GR(tty13 bis tty24) anwaehlbar. Wenn man sich die Tabelle unten genauer ansieht dann faellt auf das auf den Tasten ALT-GR 17 und ALT-GR 18 keine Konsolenprozesse gestartet werden. Stattdessen werden Prozesse auf Konsole 25 und Konsole 26 gestartet die mit diesen Tastenkombinationen nicht ereicht werden koennen. Es ist auch moeglich die den Tasten ALT und Cursor von Konsole zu Konsole zu wechseln befindet man sich z.b auf Konsole 5 und drueckt ALT Cursor Rechts dann wechselt man auf die Konsole 6 , mit ALT Cursor Links geht es genau anders herum also z.b von Konsole 8 nach Konsole 7.
Um nun die Konsolen 25 und 26 zu ereichen wechselt man mit ALT-GR und F12 auf die Konsole 24 und schaltet mittels ALT Cursor Rechts auf die Konsole 25. Ist man auf Konsole 25 und druckt man nochmal ALT-GR Cursor Rechts wechselt man auf Konsole 26. Warum wird aber auf den Tasten ALT-GR F5 und F6 kein Konsolenprozess Gestartet? Der Grund dafuer ist: wird auf dem System ein X-Server(X-Windows) gestartet dann nimmt sich dieses die naechste Freie Konsole. Wenn diese beiden Konsolen auch schon belegt waeren dann wuerde der X-Server auf Konsole 27 erscheinen und waere nicht mehr direkt ueber die Tastatur ereichbar. Deshalb lasse ich immer zwei Konsolen frei fuer den X-Server.
In der /etc/inittab sind wie in den meisten Konfigurationsdateien Kommentare moeglich indem ein # an den Zeilenanfagn gesetzt wird.

————————————————–


# The default runlevel.
id:2:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

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
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo „Keyboard Request–edit /etc/inittab to let this work.“

# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

# /sbin/getty invocations for the runlevels.
#

# The „id“ field MUST be the same as the last
# characters of the device (after „tty“).
#
# Format:
# ::: #
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty’s go ahead but skip tty7 if you run X.
#
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
7:23:respawn:/sbin/getty 38400 tty7
8:23:respawn:/sbin/getty 38400 tty8
9:23:respawn:/sbin/getty 38400 tty9
10:23:respawn:/sbin/getty 38400 tty10
11:23:respawn:/sbin/getty 38400 tty11
12:23:respawn:/sbin/getty 38400 tty12
13:23:respawn:/sbin/getty 38400 tty13
14:23:respawn:/sbin/getty 38400 tty14
15:23:respawn:/sbin/getty 38400 tty15
16:23:respawn:/sbin/getty 38400 tty16
19:23:respawn:/sbin/getty 38400 tty19
20:23:respawn:/sbin/getty 38400 tty20
21:23:respawn:/sbin/getty 38400 tty21
22:23:respawn:/sbin/getty 38400 tty22
23:23:respawn:/sbin/getty 38400 tty23
24:23:respawn:/sbin/getty 38400 tty24
25:23:respawn:/sbin/getty 38400 tty25
26:23:respawn:/sbin/getty 38400 tty26

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3