Copyright © 1998, 2000, 2001 Peter Putzer
Es ist erlaubt, dieses Dokument zu kopieren, zu vertreiben und/oder zu ändern gemäß den Bedingungen der GNU Free Documentation Licence, Version 1.1 oder irgend einer späteren Version, wie sie von der Free Software Foundation veröffentlicht wurde; ohne die invarianten Abschnitte, ohne Texte auf der vorderen Umschlagseite, und ohne Texte auf der hinteren Umschlagseite. Eine Kopie der Lizenz findet sich im Abschnitt "GNU Free Documentation License".
Dieses Handbuch beschreibt den KDE System V Init Editor KSysV.
Inhaltsverzeichnis
Willkommen zum KDE System V Init Editor, eher bekannt (und im folgenden auch so benannt) als KSysV. Dieser Abschnitt führt ein paar Konzepte ein und beschreibt, was Sie mit KSysV tun können.
Die folgende Erläuterung ist „geliehen“von tksysv (einer Inspirationsquelle für KSysV)
Die System V Init entwickelt sich rasch zum Standard für die Kontrolle des Programmstarts beim Hochfahren des Systems in der Linux® Welt. Und zwar deshalb, weil es leichter zu benutzen, leistungsfähiger und zugleich flexibler ist als die traditionelle BSD-Init.
Ich werde hier nicht weiter auf geschichtliche Aspekte eingehen (u.a. weil ich darüber selbst nichts weiß :-).
Die Init-Binärdatei liegt unter /sbin
und nicht unter /etc
. Dies ist deshalb wichtig, weil vielleicht jemand versuchen könnte, eine Maschine auf System V Init umzustellen, ohne eine Neuinstallation und Neuformatierung vorzunehmen. Der Linux® Kernel sieht zuerst unter /etc
nach einer Init-Datei. Deshalb müssen Sie sichergehen, dass die alte Init von dort entfernt wurde, falls es dort eine gab.
Die SysV Init unterscheidet sich auch dadurch von der BSD Init, dass sich die Konfigurationsdateien in einem Unterordner von /etc
befinden statt direkt in /etc
. Dieser Ordner heißt rc.d
. Dort finden Sie rc.sysinit
und folgende weitere Ordner:
init.d/
rc0.d/
rc1.d/
rc2.d/
rc3.d/
rc4.d/
rc5.d/
rc6.d
init.d
enthält eine ganze Menge Skripte. Grundsätzlich benötigen Sie ein Skript für jeden Systemdienst, den Sie beim Hochfahren des Systems bzw. beim Wechsel auf einen anderen Runlevel starten möchten. Systemdienste beinhalten solche Dinge wie Netzwerk, NFS, sendmail®, httpd usw. Systemdienste beinhalten dagegen nicht solche Sachen wie setserial, das nur einmal gestartet wird. Solche Aufrufe gehören nach rc.local
.
rc.local
sollte seinerseits unter /etc/rc.d
liegen, wenn Sie es benötigen. Die meisten Systeme besitzen diese Datei, auch wenn es eigentlich nicht viel Verwendung dafür gibt. Sie können ebenfalls ein rc.serial
in /etc/rc.d
anlegen, wenn Sie beim Hochfahren etwas ausführen lassen wollen, was mit dem seriellen Anschluss zu tun hat.
Der Ablauf ist folgender:
der Kernel sucht an verschiedenen Stellen nach dem Programm init und startet das erste, das er findet.
init startet /etc/rc.d/rc.sysinit
.
rc.sysinit
tut eine Menge notwendiger Dinge und startet dann rc.serial
(wenn es existiert)
init startet rc.local
init startet alle Skripte für das voreingestellte Runlevel
Der standardmäßige Runlevel ist in /etc/inittab
eingetragen. Sie sollten im Anfangsbereich eine Zeile wie die folgende sehen:
id:3:initdefault:
An diesem Punkt können Sie einen Blick in die zweite Spalte werfen und wahrscheinlich feststellen, dass der voreingestellte Runlevel 3 ist. Wenn Sie das ändern möchten, dann können Sie /etc/inittab
von Hand bearbeiten und die "3" ändern. Seien Sie sehr vorsichtig, wenn Sie an der inittab Änderungen durchführen. Falls Sie doch etwas durcheinandergebracht haben, dann kommen Sie es reparieren, indem Sie das System neu starten und folgendes ausführen:
LILO boot:
linux single
Dies sollte Ihnen ermöglichen, in den Einzelnutzer-Modus zu kommen und die Reparatur vorzunehmen.
Aber wie startet es nun all die richtigen Skripte? Wenn Sie ls
eingeben in -l
rc3.d
, dann sehen Sie wahrscheinlich etwas wie das Folgende:
lrwxrwxrwx 1 root root 13 13:11 S10network -> ../init.d/network lrwxrwxrwx 1 root root 16 13:11 S30syslog -> ../init.d/syslog lrwxrwxrwx 1 root root 14 13:32 S40cron -> ../init.d/cron lrwxrwxrwx 1 root root 14 13:11 S50inet -> ../init.d/inet lrwxrwxrwx 1 root root 13 13:11 S60nfs -> ../init.d/nfs lrwxrwxrwx 1 root root 15 13:11 S70nfsfs -> ../init.d/nfsfs lrwxrwxrwx 1 root root 18 13:11 S75keytable -> ../init.d/keytable lrwxrwxrwx 1 root root 23 13:11 S80sendmail -> ../init.d/sendmail.init lrwxrwxrwx 1 root root 18 13:11 S90lpd -> ../init.d/lpd.init lrwxrwxrwx 1 root root 11 13:11 S99local -> ../rc.local
Sie werden bemerken, das sich in diesem Ordner keine richtigen Dateien befinden. Stattdessen ist jeder Eintrag hier eine Verknüpfung zu einem der Skripte im Verzeichnis init.d
.
Die Verknüpfungen haben auch ein S
und eine Nummer am Anfang. Das S
besagt, dass dieses bestimmte Skript gestartet werden soll, so wie umgekehrt ein K
den Stopp bedeuten würde. Die Nummer dient der Sortierung. Tatsächlich startet init alle Systemdienste in der Reihenfolge, in der sie erscheinen. Sie können die Nummern also doppelt vergeben, aber es wird Sie nur selbst durcheinander bringen. Sie benötigen eine zweistellige Zahl, zusammen mit einem großgeschriebenen S
oder K
, um einen Systemdienst zu starten bzw. anzuhalten.
Wie startet und stoppt init eigentlich Systemdienste? Ganz einfach: Jedes der Skripte ist so geschrieben, dass es ein Argument wie start
und stop
akzeptiert. Sie können diese Skripte tatsächlich von Hand auf der Kommandozeile folgendermaßen starten:
/etc/rc.d/init.d/httpd.init stop
Dies würde den httpd-Server anhalten. Init liest den Namen, und wenn der ein K
beinhaltet, wird das Skript mit dem Argument stop
aufgerufen. Wenn er ein S
beinhaltet, wird das Skript mit dem Argument start
aufgerufen.
Manche Leute wünschen sich eine einfache Art, Maschinen für viele Zwecke einzurichten. Ich könnte z. B. ein „server“-Runlevel haben, das nur httpd, sendmail, Netzwerk usw. laufen lässt. Darüber hinaus könnte ich auch noch einen „Benutzer“-Runlevel haben, das z. B. kdm startet.
Hier lernen Sie die Benutzung von KSysV. Sie sollte nicht sehr schwierig sein, weil das Programm so benutzerfreundlich wie möglich angelegt wurde.
Die Verwendung von KSysV mit einer Maus oder einem anderen Zeigegerät ist einfach, um nicht zu sagen trivial: Ziehen Sie einfach einen Eintrag aus dem Bereich der Verfügbaren Systemdienste auf einen der sechs Runlevel, um ihn auf diesem Level zu starten (bzw. zu stoppen).
Sie können Skripte auch zwischen Runleveln verschieben oder die Position innerhalb eines Levels verändern, indem sie es woanders hin ziehen. Dabei wird der Eintrag von seinem ursprünglichen Runlevel (oder seiner Position) entfernt. Dies geschieht nur dann nicht, wenn sie einen Eintrag aus dem Bereich der Verfügbaren Systemdienste herausziehen.
Beachten Sie: Einträge werden verschoben, wenn Sie diese in einen neuen Bereich ziehen. Um sie lediglich auf einen neuen Runlevel zu kopieren, müssen Sie ausdrücklich aus dem Menü oder aus dem Kontextmenü wählen und in den Zielbereich -- sogar dann, wenn derselbe Eintrag bereits zuvor im Zielbereich der Aktion existiert hat.
Die „Sortiernummer“ eines Eintrags kann manchmal nicht berechnet werden. In so einem Fall müssen Sie die Sortiernummern der umgebenden Einträge bearbeiten, bevor Sie nochmals versuchen können, den Systemdienst einzufügen.
Beachten Sie: Sortiernummern können von 00 bis 99 reichen, nicht höher.
Sie können Einträge löschen, indem Sie sie in den Papierkorb ziehen.
Beachten Sie: Gegenwärtig gibt es keine Möglichkeit, Einträge wiederherzustellen, die in den Papierkorb geworfen wurden. Seien Sie also vorsichtig.
Sie können die Tabulator-Taste benutzen, um die verschiedenen Arbeitsbereiche zu aktivieren (Verfügbare Systemdienste, Runlevel 1 Start, Runlevel 1 Stop usw.) sowie die Cursor-Tasten, um eine Auswahl ober- oder unterhalb der bisherigen zu treffen.
Um einen Eintrag in einen anderen Runlevel zu verschieben, verschieben Sie ihn mit in die Zwischenablage (Sie können auch Strg+X benutzen) und fügen Sie ihn in den gewünschten Runlevel mit (mit Strg+V) ein.
Um die Sortiernummer oder den Namen eines Eintrags manuell zu ändern, drücken Sie die Eingabe-Taste, um den Eigenschaften-Dialog zu öffnen. Benutzen Sie die Tabulator-Taste, um zwischen verschiedenen Feldern zu wechseln. Schließen Sie den Dialog durch erneutes Drücken der Eingabe-Taste, um die Änderungen zu akzeptieren, oder drücken Sie Esc, um die Änderungen zu verwerfen.
Es folgt eine ausführliche Erläuterung der Menüs von KSysV.
Wegen der Gefahr des Datenverlusts erfordern alle Einträge im Menü eine Bestätigung, bevor sie ausgeführt werden.
Alle durchgeführten Änderungen verwerfen und die letzte gespeicherte Konfiguration aufrufen.
Eine gespeicherte Konfiguration laden.
Macht Ihre Änderungen dauerhaft wirksam. Es werden keine Sicherungsdateien angelegt. Seien Sie also vorsichtig.
Eine Kopie der neuen Konfiguration speichern.
Speichert den Ablauf der durchgeführten Änderungen.
Die Protokolldatei ausdrucken.
Beendet KSysV.
Macht die letzte nicht gespeicherte Änderung rückgängig.
Letzte rückgängig gemachte Aktion wieder herstellen.
Schneidet den gerade ausgewählten Systemdienst aus und kopiert den Eintrag in die Zwischenablage.
Kopiert den gerade ausgewählten Systemdienst in die Zwischenablage, ohne ihn zu löschen.
Fügt den Inhalt der Zwischenablage an der aktuellen Cursorposition ein.
Öffnet den Dialog Eigenschaften für den gerade ausgewählten Systemdienst.
Startet den angewählten Systemdienst.
Den angewählten Systemdienst anhalten.
Den angewählten Systemdienst neu starten.
Den angewählten Systemdienst bearbeiten.
Anzeige der Werkzeugleiste ein- und ausschalten.
Anzeige der Statusleiste ein- und ausschalten.
Schaltet die Anzeige der Protokolldatei in einem extra Fenster ein oder aus (alle Vorgänge, Fehlermeldungen usw. werden in einer Protokolldatei gespeichert).
Alle bisher erwähnten Einstellungen gelten nur bis zum nächsten Systemstart, es sei denn, Sie wählen diesen Menüpunkt. Dies gilt einschließlich der Fenstergröße und -aufteilung.
Die Zuordnungen von Tastendrücken zu Aktionen verändern.
Die Werkzeugleisten nach Ihren Wünschen anpassen.
Das Verhalten von KSysV anpassen.
Startet das Hilfe-System von KDE mit der KSysV-Hilfe (diesem Dokument).
Ändert den Mauscursor zu einer Kombination von Zeiger und Fragezeichen. Das Klicken auf ein Element innerhalb von KSysV öffnet ein Hilfefenster, das die Funktion des Elementes beschreibt (sofern es Hilfe für das bestimmte Element gibt).
Öffnet den Dialog für Problemberichte, in dem Sie Fehler und Wünsche berichten können.
Zeigt Versions- und Autoreninformationen an.
Zeigt Versionsinformation und Grundsätzliches zu KDE an.
Alle Einstellungen werden gespeichert in $
. Voreinstellungen werden der globalen Datei (KDEHOME
/share/config/ksysvrc$
) entnommen, falls sie verfügbar ist. Andernfalls werden sie von KSysV wiederhergestellt. Änderungen an den Voreinstellungen werden gespeichert in einer lokalen KDEDIR
/share/config/ksysvrcksysvrc
.
Abschnitte und Schlüsselwerte der Konfigurationsdateien, die vom Programm erkannt werden, sowie ihre Voreinstellungen:
/etc/rc.d/init.d
/etc/rc.d
Die Bedeutung der Linux®-Runlevel variiert von Distribution zu Distribution, kann sogar von Version zu Version unterschiedlich sein. Falls Sie eine andere Distribution benutzen, senden Sie mir bitte Informationen über die Runlevel, damit diese diesem Handbuch zugefügt werden können.
Halt (fährt die Maschine runter)
Einzelbenutzermodus
Konsolenmodus, ohne NFS.
Konsolenmodus mit allen Netzdiensten.
Nicht verwendet.
Mehrbenutzer-Modus -- mit X11 und vollem Netzwerk
Neustart
KSysV Copyright (c) 1997-1998 Peter Putzer
Peter Putzer, (putzer AT kde.org)
- Entwickler
Handbuch:
Peter Putzer, (putzer AT kde.org)
Eric Bischoff, (e.bischoff AT noos.fr)
- Bearbeiter
Übersetzer: Thomas Diehl (th.diehl AT gmx.net)
Übersetzer: Volker Dose (vpdose AT cpmgut.toppoint.de)
Diese Dokumentation ist unter den Bedingungen der GNU Free Documentation License veröffentlicht.
Dieses Programm ist unter den Bedingungen der GNU General Public License veröffentlicht.
KSysV ist Teil des KDE-Projekts http://www.kde.org/.
KSysV finden Sie im kdeadmin-Paket auf ftp://ftp.kde.org/pub/kde/, dem Haupt-FTP-Server des KDE-Projekts.
Um KSysV auf Ihrem System zu kompilieren und zu installieren, geben Sie folgende Befehle im Hauptordner der Programm-Quellen von KSysV ein:
%
./configure
%
make
%
make install
Da KSysV autoconf und automake benutzt, sollte es dabei keine Schwierigkeiten geben. Sollten dennoch Probleme auftauchen, wenden Sie sich bitte an die KDE-Mailinglisten.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team