6.53. Sysvinit-2.86

Das Sysvinit Paket enhält Programme, mit denen Sie das Starten, Ausführen und Beenden des Systems kontrollieren können.

Geschätzte Kompilierzeit: weniger als 0.1 SBU
Etwa Benötigter Speicherplatz: 1 MB

6.53.1. Installation von Sysvinit

Wenn Runlevel gewechselt werden (zum Beispiel beim Herunterfahren des Systems), sendet init Beenden-Signale an alle Programme, die von init gestartet wurden und im neuen Runlevel nicht laufen sollen. Init gibt dabei die Meldung „Sending processes the TERM signal“ auf dem Bildschirm aus. Diese Meldung suggeriert allerdings, das init Beenden-Signale an alle Prozesse sendet. Das ist so aber nicht korrekt, denn es geht hier nur um Prozesse, die von init gestartet wurden. Um Missverständnisse zu vermeiden, können Sie die Quellen so modifizieren, dass es sich besser liest: „Sending processes configured via /etc/inittab the TERM signal“:

sed -i 's@Sending processes@& configured via /etc/inittab@g' \
    src/init.c

Im weiteren Verlauf des Buches wird im Rahmen von Util-linux-ng eine gepflegte Version des Programms wall installiert. Verhindern Sie daher die Installation des Programms und seiner Man-page an dieser Stelle:

sed -i -e 's/utmpdump wall/utmpdump/' \
       -e 's/mountpoint.1 wall.1/mountpoint.1/' src/Makefile

Kompilieren Sie das Paket:

make -C src

Dieses Paket enthält keine Testsuite.

Installieren Sie das Paket:

make -C src install

6.53.2. Einrichten von Sysvinit

Erstellen Sie die Datei /etc/inittab:

cat > /etc/inittab << "EOF"
# Begin /etc/inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab
EOF

6.53.3. Inhalt von Sysvinit

Installierte Programme: bootlogd, halt, init, killall5, last, lastb (Link auf last), mesg, mountpoint, pidof (Link auf killall5), poweroff (Link auf halt), reboot (Link auf halt), runlevel, shutdown, sulogin, telinit (Link auf init) und utmpdump

Kurze Beschreibungen

bootlogd

Protokolliert Bootmeldungen in eine Datei.

halt

Ruft üblicherweise shutdown mit dem Parameter -h auf, außer, wenn der aktuelle Runlevel 0 ist, dann teilt es dem Kernel mit, das System anzuhalten. Vorher vermerkt es in /var/log/wtmp, dass das System nun heruntergefahren wird.

init

Der erste gestartete Prozess, nachdem der Kernel die Hardware initialisiert hat. Init übernimmt den Bootvorgang und startet alle anstehenden Programme.

killall5

Sendet ein Signal an alle Prozesse, außer denen in der eigenen Sitzung — so beendet es nicht die Programme, die das Skript ausführen, welches es aufgerufen hat.

last

Zeigt, welcher Benutzer als letztes eingeloggt und ausgeloggt hat, indem es die Datei /var/log/wtmp durchsucht. Es kann auch Systemstarts und -stopps sowie Wechsel der Runlevel zeigen.

lastb

Zeigt die letzten fehlgeschlagenen Login-Versuche, die in /var/log/btmp protokolliert wurden.

mesg

Kontrolliert, welche anderen Benutzer Nachrichten auf das aktuelle Terminal senden können.

mountpoint

Prüft, ob der Ordner ein Mountpunkt ist.

pidof

Gibt die PIDs eines Programms aus.

poweroff

Weist den Kernel an, das System anzuhalten und den Computer auszuschalten. Siehe auch die Beschreibung zu halt.

reboot

Weist den Kernel an, das System neu zu starten. Siehe auch die Beschreibung zu halt.

runlevel

Zeigt den vorigen und den aktuellen Runlevel an. Die nötigen Informationen werden aus /var/run/utmp gelesen.

shutdown

Fährt das System sicher herunter, sendet entsprechende Signale an alle Prozesse und benachrichtig alle angemeldeten Benutzer.

sulogin

Ermöglicht es root, sich einzuloggen. Dies wird normalerweise von init gestartet, wenn das System im Einbenutzermodus gestartet wurde.

telinit

Weist init an, in den angegebenen Runlevel zu wechseln.

utmpdump

Zeigt den Inhalt der angegebenen Logindatei in einem benutzerfreundlicheren Format an.