SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

Kommandoprozeduren bei der Systemeinleitung

Die Kommandoprozeduren für Systemeinleitung und -beendigung und ihre Konfigurationsdateien.

SliTaz-Systemeinleitung

SliTaz kennt keine Ausführungsstufen („runlevel“), bei der Systemeinleitung wird nur eine primäre Initialisierungsprozedur und eine Konfigurationsdatei für den init-Prozess verwendet. Die primäre Initialisierungsprozedur wiederum startet einige weitere Kommandoprozeduren, die spezielle Aufgaben übernehmen.

/etc/init.d/ - Verzeichnis für Kommandoprozeduren (von Hintergrundprozessen)

Das Verzeichnis /etc/init.d enthält alle rc-Kommandoprozeduren. Kommandoprozeduren, deren Namen mit .sh enden, sind (einmal auszuführende) Kommandoprozeduren. Andere Kommandoprozeduren, so wie dropbear oder lighttpd starten, beenden oder starten Dienste erneut mit einem Kommando wie:

 # /etc/init.d/<daemon> [start|stop|restart] 

In SliTaz gibt es eine Datei /etc/init.d/README, worin die Grundfunktion von rc-Kommandoprozeduren beschrieben ist. Beachten Sie auch, dass in der Datei /etc/init.d/rc.functions verschiedene Funktionen zur Verwendung in Kommandoprozeduren zur Verfügung gestellt werden. So kann etwa eine Funktion status verwendet werden, mit der geprüft werden kann, ob das vorangegangene Kommando erfolgreich ausgeführt wurde (Rückinformation = 0) oder nicht.

/etc/init.d/rcS - Primäre Initialisierungsprozedur

Mit der Kommandoprozedur /etc/init.d/rcS werden alle grundlegenden Dienste konfiguriert und das Basissystem initialisiert. Es beginnt mit dem Einhängen von Dateisystemen, dem Starten von Diensten wie syslogd, klogd und mdev, dann wird im System aufgeräumt usw.. Der Konfigurationsdatei /etc/rcS.conf wird entnommen, welche Kommandoprozeduren auszuführen sind und welche Hintergrundprozesse bei der Systemeinleitung gestartet werden sollen. Schauen Sie nach, was ausgeführt wird:

 # less /etc/init.d/rcS 

Spezielle Kommandoprozeduren und Hintergrundprozesse

bootopts.sh - Linux-Kern-Optionen

Diese Kommandoprozedur wertet die Optionen aus, die vom Urlader an den Linux-Kern übergeben wurden und in der Datei /proc/cmdline hinterlegt sind. Damit wird es möglich, das Verzeichnis /home auf einer Partition eines externen Datenträgers mit der Option home=usb oder home=sda[1-9] einzuhängen. Darüberhinaus können auch die Systemsprache und die Tastaturbelegung mit Optionen direkt angegeben werden.

network.sh - Initialisierung der Netzwerkanschlüsse

Diese Kommandoprozedur entnimmte der Konfigurationsdatei /etc/network.conf, welche Netzwerkschnittstelle verwendet werden soll, ob der DHCP-Klient gestartet werden soll und ob eine feste IP-Adresse verwendet werden soll und wenn ja, welche. Mit diesen Informationen werden dann die Netzwerkschnittstellen aktiviert. Hat in dieser Kommandoprozedur die Variable DHCP den Wert “yes”, so wird der DHCP-Klient für die in der Variablen INTERFACE angegebenen Schnittstelle gestartet.

i18n.sh - Internationalisierung

SliTaz speichert die Standard-Lokalisierung in der Datei /etc/locale.conf, die von der Kommandoprozedur /etc/profile bei jeder Anmeldung eines Benutzers gelesen wird. Die Datei /etc/locale.conf wird bei der Systemeinleitung von der Kommandoprozedur /etc/i18n.sh erstellt. Diese Kommandoprozedur startet die Kommandoprozedur tazlocale, wenn die Datei /etc/locale.conf nicht existiert. Ähnliches gilt für die Tastaturbelegung mit der Kommandoprozedur tazkeymap und der Konfigurationsdatei /etc/keymap.conf. Beide Kommandoprozeduren befinden sich im Verzeichnis /sbin und verwenden dialog und die ncurses-Bibliothek. Die Kommandoprozedur prüft auch, ob eine Konfigurationsdatei /etc/TZ für die Zeitzone existiert. Wenn nicht, wird eine gemäß der Tastaturbeleung erzeugt.

local.sh - systemspezifische Kommandos

In die Kommandoprozedur /etc/init.d/local.sh kann der Systemadministrator Kommandos schreiben, die bei der Systemeinleitung ausgeführt werden sollen. Beispiel:

#!/bin/sh
# /etc/init.d/local.sh: systemspezifische Kommandos.
# Alle hier angegebenen Kommandos werden bei der Systemeinleitung ausgeführt.
#
. /etc/init.d/rc.functions

echo "systemspezifische Kommandos werden ausgeführt... "

wpa_action.sh - Initialisierung des Drahtlosnetzwerks

Diese Kommandoprozedur wird von network.sh ausgeführt, um bei Verwendung dynamischer IP-Adressen den DHCP-Server zu starten oder neu zu starten.

rc.shutdown

Diese Kommandoprozedur wird vom init-Prozess gemäß /etc/inittab bei der Systembeendigung ausgeführt. Damit werden auch alle Hintergrundprozesse gemäß der Variablen RUN_DAEMONS in der primären Konfigurationsdatei /etc/rcS.conf beendet.

/etc/inittab - Konfigurationsdatei für init

Dies ist die erste Datei, die vom Linux-Kern nach dem Laden gelesen wird. Darin werden die Initialisierungsprozedur (/etc/init.d/rcS), virtuelle Terminals (ttys) und die Aktionen für den Fall eines Neuladens oder von Unterbrechungen festgelegt. Ein vollständiges Beispiel mit Anmerkungen befindet sich in SliTaz-Werkzeuge:

# /etc/inittab: init configuration for SliTaz GNU/Linux.
# Boot-time system configuration/initialization script.
#
::sysinit:/etc/init.d/rcS

# /sbin/getty respawn shell invocations for selected ttys.
tty1::respawn:/sbin/getty 38400 tty1
tty2::respawn:/sbin/getty 38400 tty2
tty3::respawn:/sbin/getty 38400 tty3
tty4::respawn:/sbin/getty 38400 tty4
tty5::respawn:/sbin/getty 38400 tty5
tty6::respawn:/sbin/getty 38400 tty6

# Stuff to do when restarting the init 
# process, or before rebooting.
::restart:/etc/init.d/rc.shutdown
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/init.d/rc.shutdown
 
de/cookbook/bootscripts.txt · Last modified: 2017/05/10 15:52 by hgt