File: init.8

package info (click to toggle)
manpages-de 0.7-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 3,188 kB
  • ctags: 9
  • sloc: makefile: 83; perl: 61
file content (339 lines) | stat: -rw-r--r-- 15,508 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
.\" -*- coding: UTF-8 -*-
.\" Copyright (C) 1998-2004 Miquel van Smoorenburg.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
.\"
.\"{{{}}}
.\"{{{  Title
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH INIT 8 "29. Juli 2004" "" Linux\-Systemadministrator\-Handbuch
.\"}}}
.\"{{{  Name
.SH BEZEICHNUNG
.\"}}}
.\"{{{  Synopsis
init, telinit \- Initialisierung der Prozesssteuerung
.SH ÜBERSICHT
\fB/sbin/init\fP [\fB \-a \fP] [\fB \-s \fP] [\fB \-b \fP] [ \fB\-z\fP \fIxxx\fP ] [\fB 0123456Ss
\fP]
.br
\fB/sbin/telinit\fP [ \fB\-t\fP \fISEKUNDEN\fP ] [\fB 0123456sSQqabcUu \fP]
.br
.\"}}}
.\"{{{  Description
\fB/sbin/telinit\fP [ \fB\-e\fP \fIVAR\fP[\fB=\fP\fIWERT\fP] ]
.SH BESCHREIBUNG
.\"{{{  init
.SS Init
\fBInit\fP ist der übergeordnete Prozess aller Prozesse. Seine Hauptaufgabe
besteht darin, Prozesse aus einem Skript in der Datei \fI/etc/inittab\fP zu
erzeugen (siehe auch \fBinittab\fP(5)). Diese Datei hat normalerweise Einträge,
die \fBinit\fP dazu veranlassen auf jeder Leitung \fBgetty\fPs zu erzeugen, auf
der sich ein Benutzer einloggen kann. Er steuert auch alle unabhängigen
Prozesse, die von einem bestimmten System benötigt werden.
.PP
.\"{{{ Runlevels
.SH RUNLEVEL
Ein \fIRunlevel\fP ist eine Software\-Konfiguration des Systems, der es nur
einer ausgewählten Gruppe von Prozessen erlaubt, ausgeführt zu werden. Die
Prozesse, die von \fBinit\fP für jeden dieser Runlevel erzeugt werden, sind in
der Datei \fI/etc/inittab\fP definiert. \fBInit\fP kann in einem von acht
Runleveln sein: \fB0\-6\fP und \fBS\fP (auch \fBs\fP). \fBInit\fP wechselt den Runlevel,
wenn ein privilegierter Benutzer das Programm \fB/sbin/telinit\fP startet, das
\fBinit\fP passende Signale sendet, die ihm mitteilen, in welchen Runlevel es
wechseln soll.
.PP
Die Runlevel \fBS\fP, \fB0\fP, \fB1\fP und \fB6\fP sind reserviert. Der Runlevel S wird
benutzt, um das System beim Start zu initialisieren. Wenn Runlevel S (beim
Start) oder Runlevel 1 (umschalten von einem Mehrbenutzer\-Runlevel)
gestartet wird, wechselt das System in den »Einzelbenutzermodus«, nach dem
der aktuelle Runlevel S ist. Runlevel 0 wird benutzt, um das System zu
stoppen, Runlevel 6 startet das System neu.
.PP
Nach dem Starten durch S tritt das System automatisch in die
Mehrbenutzer\-Runlevel 2 bis 5 ein, falls es dort kein Problem gibt, das vom
Administrator im Einzelbenutzermodus behoben werden muss. Normalerweise
führt der Administrator nach Eintreten in den Einzelbenutzermodus
Wartungsarbeiten durch und startet dann das System neu.
.PP
Lesen Sie die Handbuchseiten von \fBshutdown\fP(8) und \fBinittab\fP(5), um
weitere Informationen zu erhalten.
.PP
Die Runlevel 7\-9 sind ebenfalls gültig, wenngleich nicht wirklich
dokumentiert. Dies ist deshalb so, weil »traditionelle« Unix\-Varianten sie
nicht benutzen.
.PP
.\"}}}
Die Runlevel \fIS\fP und \fIs\fP sind identisch. Intern sind sie Aliase für den
gleichen Runlevel.
.PP
.SH SYSTEMSTART
Nachdem \fBinit\fP im letzten Schritt des Startprozesses aufgerufen wird, sucht
es nach der Datei \fI/etc/inittab\fP und sieht nach, ob es dort einen
\fBinitdefault\fP\-Eintrag gibt (siehe \fBinittab\fP(5)). Der Eintrag
\fBinitdefault\fP bestimmt den Anfangs\-\fIRunlevel\fP des Systems. Falls es dort
keinen derartigen Eintrag gibt (oder gar keine \fIinittab\fP\-Datei existiert),
muss der \fIRunlevel\fP in der Systemkonsole eingegeben werden.
.PP
Die Runlevel \fBS\fP oder \fBs\fP initialisieren das System und benötigen keine
\fI/etc/inittab\fP\-Datei.
.PP
Im Einzelbenutzermodus wird \fB/sbin/sulogin\fP auf \fB/dev/console\fP aufgerufen.
.PP
Beim Eintritt in den Einzelbenutzermodus initialisiert \fBinit\fP die
\fBstty\fP\-Einstellungen der Konsolen auf vernünftige Werte. Der »Clocal«\-Modus
wird gesetzt. Hardware\-Geschwindigkeit und Datenflusskontrolle werden nicht
geändert.
.PP
Beim ersten Eintritt in den Mehrbenutzermodus führt \fBinit\fP die \fBboot\fP\- und
\fBbootwait\fP\-Einträge aus, um das Einhängen von Dateisystemen zu erlauben,
bevor Anwender sich anmelden können. Dann werden alle Einträge, die zum
Runlevel passen, verarbeitet.
.PP
Wenn ein neuer Prozess gestartet wird, prüft \fBinit\fP zuerst, ob die Datei
\fI/etc/initscript\fP existiert. Ist dies der Fall, benutzt es dieses Skript,
um den Prozess zu starten.
.PP
Jedesmal, wenn ein Kindprozess endet, zeichnet \fBinit\fP diesen Umstand und
den Grund der Beendigung in \fB/var/run/utmp\fP und \fB/var/log/wtmp\fP auf,
sofern diese Dateien existieren.
.SH "RUNLEVEL ÄNDERN"
Nachdem alle vorgesehenen Prozesse erzeugt worden sind, wartet \fBinit\fP
darauf, dass ein untergeordneter Prozess endet, ein Stromausfallsignal oder
darauf, dass \fBtelinit\fP einen Wechsel des Runlevels signalisiert. Wenn eine
der drei oben genannten Bedingungen erfüllt ist, untersucht \fBinit\fP nochmals
die \fI/etc/inittab\fP\-Datei. Es können jederzeit neue Einträge zu dieser Datei
hinzugefügt werden. Jedoch wartet \fBinit\fP immer noch darauf, dass einer der
drei oben genannten Bedingungen eintritt. Um eine sofortige Antwort
bereitzustellen, können die Befehle \fBtelinit Q\fP oder \fBq\fP \fBinit\fP
aufwecken, um die Datei \fB/etc/inittab\fP erneut zu prüfen.
.PP
Falls \fBinit\fP sich nicht im Einzelbenutzermodus befindet, und ein
Stromausfallsignal (SIGPWR) empfängt, liest es die Datei
\fI/etc/powerstatus\fP. Anschließend wird ein Befehl anhand des Inhalts der
Datei gestartet:
.IP F(EHLSCHLAG)
Strom fällt aus, die USV versorgt den Rechner mit Strom. Die \fBpowerwait\fP\-
und \fBpowerfail\fP\-Einträge werden ausgeführt.
.IP O(K)
Stromkreis wurde wieder geschlossen, die \fBpowerokwait\fP\-Einträge werden
ausgeführt.
.IP L(OW/niedrig)
Strom fällt aus und der Ladestand der USV ist niedrig. Die
\fBpowerfailnow\fP\-Einträge werden ausgeführt.
.PP
Wenn /etc/powerstatus nicht existiert oder etwas anderes enthält als die
Buchstaben \fBF\fP, \fBO\fP oder \fBL\fP, wird Init sich so verhalten, als hätte es
den Buchstaben \fBF\fP gelesen.
.PP
Die Verwendung von \fBSIGPWR\fP und \fI/etc/powerstatus\fP werden nicht
empfohlen. Wenn etwas mit \fBinit\fP interagieren möchte, sollte der
Steuerkanal \fI/dev/initctl\fP verwendet werden \- lesen Sie den Quellcode des
Pakets \fBsysvinit\fP, um weitere Dokumentation darüber zu erhalten.
.PP
.\"}}}
.\"{{{  telinit
Falls \fBinit\fP die Aufforderung zum Wechsel des Runlevels erhält, sendet es
das Warnsignal \s-1\fBSIGTERM\fP\s0 an alle nicht im neuen Runlevel definierten
Prozesse. Dann wartet es fünf Sekunden bevor es diese Prozesse gewaltsam per
Signal \s-1\fBSIGKILL\fP\s0 beendet. Beachten Sie, dass \fBinit\fP davon ausgeht,
dass diese Prozesse (und ihre Unterprozesse) in der gleichen Prozessgruppe
verbleiben, die \fBinit\fP ursprünglich für sie erstellt hatte. Wenn Prozesse
ihre Gruppenzugehörigkeit andern, werden Sie diese Signale nicht
empfangen. Solche Prozesse müssen separat beendet werden.
.SH TELINIT
\fB/sbin/telinit\fP ist mit \fB/sbin/init\fP verknüpft. Es empfängt Argumente aus
einem Buchstaben oder \fBinit\fP\-Signale, um die zugehörige Aktion
durchzuführen. Die folgenden Argumente dienen als Direktiven für \fBtelinit\fP:
.IP "\fB0\fP,\fB1\fP,\fB2\fP,\fB3\fP,\fB4\fP,\fB5\fP oder \fB6\fP"
\fBinit\fP mitteilen, in den angegebenen Runlevel zu schalten.
.IP \fBa\fP,\fBb\fP,\fBc\fP
\fBinit\fP mitteilen, nur die Einträge in der Datei \fB/etc/inittab\fP zu
verarbeiten, die den Runlevel \fBa\fP, \fBb\fP oder \fBc\fP haben.
.IP "\fBQ\fP oder \fBq\fP"
\fBinit\fP mitteilen, die Datei \fB/etc/inittab\fP erneut zu prüfen.
.IP "\fBS\fP oder \fBs\fP"
\fBinit\fP mitteilen, in den Einzelbenutzermodus zu wechseln.
.IP "\fBU\fP oder \fBu\fP"
\fBinit\fP mitteilen, sich selbst erneut (unter Beibehalten des Status)
auszuführen. Es kommt zu keiner erneuten Ausführung der Datei
\fB/etc/inittab\fP. Der Runlevel sollte einer aus \fBSs0123456\fP sein,
anderenfalls wird die Anfrage stillschweigend ignoriert.
.PP
\fBtelinit\fP kann dem \fBinit\fP\-Prozess mitteilen, wieviel Zeit dieser zwischen
dem Senden der Signale SIGTERM und SIGKILL warten soll. Die Vorgabe ist fünf
Sekunden, dies kann aber durch die Option \fB\-t\fP geändert werden.
.PP
\fBtelinit \-e\fP weist \fBinit\fP an die Umgebung für Prozesse zu ändern, die es
erzeugt. Das Argument von \fB\-e\fP ist entweder in der Form \fIVAR\fP=\fIWERT\fP, was
die Variable \fIVAR\fP auf den Wert \fIWERT\fP setzt oder in der Form\fIVAR\fP (ohne
Gleichheitszeichen), was die Variable \fIVAR\fP leert.
.PP
\fBinit\fP kann nur von Benutzern mit geeigneten Rechten aufgerufen werden.
.PP
.\"}}}
.\"}}}
Das Programm \fBinit\fP prüft durch auswerten der Prozess\-ID, ob es \fBinit\fP
oder \fBtelinit\fP ist. Der echte Prozess von \fBinit\fP ist immer \fB1\fP. Daraus
folgt, dass jemand anstelle des Aufrufs \fBtelinit\fP auch nur \fBinit\fP als
Abkürzung benutzen kann.
.SH UMGEBUNGSVARIABLEN
\fBInit\fP setzt folgende Umgebungsvariablen für alle seine Kindprozesse:
.IP \fBPFAD\fP
\fI/bin:/usr/bin:/sbin:/usr/sbin\fP
.IP \fBINIT_VERSION\fP
Wie der Name schon sagt. Nützlich, um festzulegen, ob ein Skript direkt von
\fBinit\fP gestartet werden soll.
.IP \fBRUNLEVEL\fP
Der aktuelle Runlevel des Systems.
.IP \fBPREVLEVEL\fP
Der vorherige Runlevel (nützlich nach einer Änderung des Runlevels).
.IP \fBCONSOLE\fP
Die Systemkonsole. Diese wird tatsächlich vom Kernel vererbt; wenn sie
jedoch nicht gesetzt ist, wird \fBinit\fP sie als Vorgabe auf \fI/dev/console\fP
setzen.
.SH BOOTSCHALTER
Es ist möglich, \fBinit\fP eine Reihe von Bootschaltern vom Bootmonitor aus
(z.B. LILO) zu übergeben. \fBInit\fP akzeptiert folgende Schalter:
.TP  0.5i
\fB\-s, S, single\fP
Bootet im Einzelbenutzermodus. In diesem Modus wird zuerst die Datei
\fI/etc/inittab\fP untersucht und die »rc«\-Startskripte werden ausgeführt,
bevor die Einzelbenutzer\-Shell gestartet wird.
.PP
.TP  0.5i
\fB1\-5\fP
Runlevel in den gestartet wird.
.PP
.TP  0.5i
\fB\-b\fP, \fBemergency\fP
Startet direkt in eine Einzelbenutzer\-Shell, ohne irgendwelche anderen
Startskripte auszuführen.
.PP
.TP  0.5i
\fB\-a\fP, \fBauto\fP
Der LILO\-Bootloader fügt das Wort »auto« zur Befehlszeile hinzu, wenn der
Kernel mit der Standard\-Befehlszeile (ohne Eingriff des Anwenders) gestartet
wird. Falls dies gefunden wird, setzt \fBinit\fP die Umgebungsvariable
»AUTOBOOT« auf »yes«. Beachten Sie, dass Sie die nicht für irgendwelche
Sicherheitsmaßnahmen verwenden können \- selbstverständlich kann der Anwender
»auto« oder »\-a« manuell auf der Befehlszeile angeben.
.PP
.TP  0.5i
\fB\-z \fP\fIxxx\fP
Das Argument zu \fB\-z\fP wird ignoriert. Sie können es benutzen, um die
Befehlszeile etwas zu verlängern, damit sie etwas mehr Platz auf dem Stack
reserviert. \fBInit\fP kann dann die Befehlszeile derart verändern, dass
\fBps\fP(1) den aktuellen Runlevel anzeigt.
.PP
.SH SCHNITTSTELLE
Init lauscht auf einem \fIfifo\fP in /dev, \fI/dev/initctl\fP, auf
Nachrichten. \fBTelinit\fP benutzt diesen, um mit Init zu kommunizieren. Die
Schnittstelle ist noch nicht sehr ausführlich dokumentiert oder
fertiggestellt. Wer interessiert ist, sollte die Datei \fIinitreq.h\fP im
Unterverzeichnis des \fBinit\fP\-Quellcode\-Tar\-Archives studieren.
.SH SIGNALE
Init reagiert auf mehrere Signale:
.TP  0.5i
\fBSIGHUP\fP
Hat die gleichen Auswirkungen wie \fBtelinit q\fP.
.PP
.TP  0.5i
\fBSIGUSR1\fP
Beim Empfang dieses Signals schließt init seinen Steuerungs\-Fifo
\fI/dev/initctl\fP und öffnet ihn wieder. Nützlich für Startskripte, wenn
\fI/dev\fP erneut eingehängt wird.
.TP  0.5i
\fBSIGINT\fP
Normalerweise sendet der Kernel dieses Signal an \fIinit\fP, wenn CTRL\-ALT\-DEL
gedrückt wurde. Es aktiviert die Aktion \fIctrlaltdel\fP.
.TP  0.5i
\fBSIGWINCH\fP
Der Kernel sendet dieses Signal, falls die \fIKeyboardSignal\fP\-Taste gedrückt
wurde. Es aktiviert die \fIkbdrequest\fP\-Aktion.

.\"{{{  Conforming to
.SH "KONFORM ZU"
.\"}}}
.\"{{{  Files
\fBInit\fP ist kompatibel zu System\-V\-Init. Es arbeitet eng mit den Skripten in
den Verzeichnissen \fI/etc/init.d\fP und \fI/etc/rc{runlevel}.d\fP zusammen.Falls
Ihr System diesem Grundsatz folgt, sollte sich in diesem Verzeichnis eine
\fBREADME\fP\-Datei befinden, die erklärt wie diese Skripte funktionieren.
.SH DATEIEN
.nf
/etc/inittab
/etc/initscript
/dev/console
/var/run/utmp
/var/log/wtmp
/dev/initctl
.fi
.\"}}}
.\"{{{  Warnings
.SH WARNUNGEN
\fBInit\fP geht davon aus, dass alle Prozesse und Kindprozesse in der selben
Prozessgruppe verbleiben, die ursprünglich für sie eingerichtet wurde. Falls
einer dieser Prozesse die Gruppe wechselt, kann \fBinit\fP ihn nicht mehr
beenden und es kann passieren, dass Sie in einem Zustand landen, in dem zwei
Prozesse von einer Terminalzeile Befehle einlesen wollen.
.PP
.\"}}}
.\"{{{  Diagnostics
Auf einem Debian\-System veranlasst das Eintreten in Runlevel 1, dass alle
Prozesse mit Ausnahme von Kernel\-Threads und dem Skript, das das Beenden
erledigt und andere Prozesse in deren Sitzung, beendet werden. Als
Konsequenz davon ist es nicht sicher, von von Runlevel 1 zu einem
Mehrbenutzer\-Runlevel zurückzukehren: Daemons, die in Runlevel S gestartet
wurden und für normale Operationen benötigt werden, laufen nicht länger. Das
System sollte neu gestartet werden.
.SH DIAGNOSE
.\"}}}
.\"{{{  Author
Wenn \fBinit\fP herausfindet, dass es kontinuierlich einen Eintrag öfter als
zehn mal in zwei Minuten neu erzeugt, wird es annehmen, dass ein Fehler in
der Befehlszeile vorliegt, eine Fehlermeldung auf der Befehlszeile erzeugen
und sich weigern, den Eintrag auszuführen, bis fünf Minuten vergangen sind
oder es ein Signal empfängt. Dieses verhindert, dass Systemressourcen
verschwendet werden, wenn jemandem ein Tippfehler in \fI/etc/inittab\fP
unterläuft oder das zum Eintrag gehörende Programm gelöscht wird.
.SH AUTOR
.\"}}}
.\"{{{  See also
Miquel van Smoorenburg (miquels@cistron.nl), ursprüngliche Handbuchseite von
Michael Haardt (u31b3hs@pool.informatik.rwth\-aachen.de).
.SH "SIEHE AUCH"
\fBgetty\fP(1), \fBlogin\fP(1), \fBsh\fP(1), \fBrunlevel\fP(8), \fBshutdown(8),\fP
\fBkill\fP(1), \fBinittab\fP(5), \fBinitscript\fP(5), \fButmp\fP(5)
.\"}}}

.SH ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Okrslar <okrslar@informatik.uni-muenchen.de>,
Martin Schulze <joey@infodrom.org>
und
Chris Leick <c.leick@vollbio.de>
erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.