Provided by: manpages-de_0.10-1_all bug

BEZEICHNUNG

       init, telinit - Initialisierung der Prozesssteuerung

"UBERSICHT

       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/telinit [ -t SEKUNDEN ] [ 0123456sSQqabcUu ]
       /sbin/telinit [ -e VAR[=WERT] ]

BESCHREIBUNG

   Init
       Init  ist  der ubergeordnete Prozess aller Prozesse. Seine Hauptaufgabe
       besteht darin, Prozesse aus einem Skript in der Datei  /etc/inittab  zu
       erzeugen   (siehe  auch  inittab(5)).  Diese  Datei  hat  normalerweise
       Eintrage, die  init  dazu  veranlassen  auf  jeder  Leitung  gettys  zu
       erzeugen,  auf  der  sich  ein Benutzer einloggen kann. Er steuert auch
       alle unabhangigen Prozesse, die von einem  bestimmten  System  benotigt
       werden.

RUNLEVEL

       Ein  Runlevel  ist  eine Software-Konfiguration des Systems, der es nur
       einer ausgewahlten Gruppe von Prozessen erlaubt, ausgefuhrt zu  werden.
       Die  Prozesse,  die  von init fur jeden dieser Runlevel erzeugt werden,
       sind in der Datei /etc/inittab definiert. Init kann in einem  von  acht
       Runleveln  sein:  0-6  und S (auch s). Init wechselt den Runlevel, wenn
       ein privilegierter Benutzer das  Programm  /sbin/telinit  startet,  das
       init passende Signale sendet, die ihm mitteilen, in welchen Runlevel es
       wechseln soll.

       Die Runlevel S, 0, 1  und  6  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.

       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   fuhrt   der   Administrator   nach   Eintreten  in  den
       Einzelbenutzermodus Wartungsarbeiten durch und startet dann das  System
       neu.

       Lesen Sie die Handbuchseiten von shutdown(8) und inittab(5), um weitere
       Informationen zu erhalten.

       Die Runlevel 7-9  sind  ebenfalls  gultig,  wenngleich  nicht  wirklich
       dokumentiert.    Dies    ist   deshalb   so,   weil   >>traditionelle<<
       Unix-Varianten sie nicht benutzen.

       Die Runlevel S und s sind identisch. Intern sind  sie  Aliase  fur  den
       gleichen Runlevel.

SYSTEMSTART

       Nachdem  init  im  letzten  Schritt des Startprozesses aufgerufen wird,
       sucht es nach der Datei /etc/inittab und sieht nach, ob es  dort  einen
       initdefault-Eintrag  gibt  (siehe  inittab(5)). Der Eintrag initdefault
       bestimmt  den  Anfangs-Runlevel  des  Systems.  Falls  es  dort  keinen
       derartigen  Eintrag gibt (oder gar keine inittab-Datei existiert), muss
       der Runlevel in der Systemkonsole eingegeben werden.

       Die Runlevel S oder s initialisieren das  System  und  benotigen  keine
       /etc/inittab-Datei.

       Im Einzelbenutzermodus wird /sbin/sulogin auf /dev/console aufgerufen.

       Beim   Eintritt  in  den  Einzelbenutzermodus  initialisiert  init  die
       stty-Einstellungen   der   Konsolen   auf   vernunftige   Werte.    Der
       >>Clocal<<-Modus    wird    gesetzt.    Hardware-Geschwindigkeit    und
       Datenflusskontrolle werden nicht geandert.

       Beim ersten Eintritt in den Mehrbenutzermodus fuhrt init die boot-  und
       bootwait-Eintrage  aus, um das Einhangen von Dateisystemen zu erlauben,
       bevor Anwender sich anmelden konnen. Dann werden alle Eintrage, die zum
       Runlevel passen, verarbeitet.

       Wenn  ein neuer Prozess gestartet wird, pruft init zuerst, ob die Datei
       /etc/initscript existiert. Ist dies der Fall, benutzt es dieses Skript,
       um den Prozess zu starten.

       Jedesmal,  wenn ein Kindprozess endet, zeichnet init diesen Umstand und
       den Grund der Beendigung in /var/run/utmp und /var/log/wtmp auf, sofern
       diese Dateien existieren.

RUNLEVEL "ANDERN

       Nachdem  alle  vorgesehenen  Prozesse  erzeugt worden sind, wartet init
       darauf, dass ein untergeordneter Prozess endet, ein  Stromausfallsignal
       oder  darauf,  dass  telinit  einen Wechsel des Runlevels signalisiert.
       Wenn eine der drei oben genannten Bedingungen erfullt  ist,  untersucht
       init nochmals die /etc/inittab-Datei. Es konnen jederzeit neue Eintrage
       zu dieser Datei hinzugefugt  werden.  Jedoch  wartet  init  immer  noch
       darauf,  dass  einer  der  drei oben genannten Bedingungen eintritt. Um
       eine sofortige Antwort bereitzustellen, konnen die  Befehle  telinit  Q
       oder q init aufwecken, um die Datei /etc/inittab erneut zu prufen.

       Falls   init  sich  nicht  im  Einzelbenutzermodus  befindet,  und  ein
       Stromausfallsignal   (SIGPWR)   empfangt,   liest    es    die    Datei
       /etc/powerstatus.  AnschlieBend  wird ein Befehl anhand des Inhalts der
       Datei gestartet:

       F(EHLSCHLAG)
              Strom fallt aus, die USV versorgt den  Rechner  mit  Strom.  Die
              powerwait- und powerfail-Eintrage werden ausgefuhrt.

       O(K)   Stromkreis  wurde  wieder  geschlossen, die powerokwait-Eintrage
              werden ausgefuhrt.

       L(OW/niedrig)
              Strom fallt aus und der  Ladestand  der  USV  ist  niedrig.  Die
              powerfailnow-Eintrage werden ausgefuhrt.

       Wenn  /etc/powerstatus  nicht  existiert oder etwas anderes enthalt als
       die Buchstaben F, O oder L, wird Init sich so verhalten, als  hatte  es
       den Buchstaben F gelesen.

       Die  Verwendung von SIGPWR und /etc/powerstatus werden nicht empfohlen.
       Wenn  etwas  mit  init  interagieren  mochte,  sollte  der  Steuerkanal
       /dev/initctl  verwendet  werden  -  lesen  Sie den Quellcode des Pakets
       sysvinit, um weitere Dokumentation daruber zu erhalten.

       Falls init die Aufforderung zum Wechsel des Runlevels erhalt, sendet es
       das  Warnsignal  SIGTERM  an  alle  nicht im neuen Runlevel definierten
       Prozesse.  Dann  wartet  es  funf  Sekunden  bevor  es  diese  Prozesse
       gewaltsam  per  Signal  SIGKILL  beendet. Beachten Sie, dass init davon
       ausgeht, dass diese Prozesse (und ihre Unterprozesse) in  der  gleichen
       Prozessgruppe verbleiben, die init ursprunglich fur sie erstellt hatte.
       Wenn  Prozesse  ihre  Gruppenzugehorigkeit  andern,  werden  Sie  diese
       Signale nicht empfangen. Solche Prozesse mussen separat beendet werden.

TELINIT

       /sbin/telinit  ist  mit /sbin/init verknupft. Es empfangt Argumente aus
       einem  Buchstaben  oder  init-Signale,   um   die   zugehorige   Aktion
       durchzufuhren.  Die  folgenden  Argumente  dienen  als  Direktiven  fur
       telinit:

       0,1,2,3,4,5 oder 6
              init mitteilen, in den angegebenen Runlevel zu schalten.

       a,b,c  init mitteilen, nur die Eintrage in der  Datei  /etc/inittab  zu
              verarbeiten, die den Runlevel a, b oder c haben.

       Q oder q
              init mitteilen, die Datei /etc/inittab erneut zu prufen.

       S oder s
              init mitteilen, in den Einzelbenutzermodus zu wechseln.

       U oder u
              init  mitteilen,  sich  selbst  erneut  (unter  Beibehalten  des
              Status) auszufuhren. Es kommt zu keiner erneuten Ausfuhrung  der
              Datei  /etc/inittab.  Der  Runlevel  sollte  einer aus Ss0123456
              sein, anderenfalls wird die Anfrage stillschweigend ignoriert.

       telinit kann dem init-Prozess mitteilen, wieviel Zeit  dieser  zwischen
       dem Senden der Signale SIGTERM und SIGKILL warten soll. Die Vorgabe ist
       funf Sekunden, dies kann aber durch die Option -t geandert werden.

       telinit -e weist init an die Umgebung fur Prozesse zu  andern,  die  es
       erzeugt. Das Argument von -e ist entweder in der Form VAR=WERT, was die
       Variable VAR auf  den  Wert  WERT  setzt  oder  in  der  FormVAR  (ohne
       Gleichheitszeichen), was die Variable VAR leert.

       init kann nur von Benutzern mit geeigneten Rechten aufgerufen werden.

       Das Programm init pruft durch auswerten der Prozess-ID, ob es init oder
       telinit ist. Der echte Prozess von init ist immer 1. Daraus folgt, dass
       jemand  anstelle  des  Aufrufs  telinit  auch  nur  init  als Abkurzung
       benutzen kann.

UMGEBUNGSVARIABLEN

       Init setzt folgende Umgebungsvariablen fur alle seine Kindprozesse:

       PFAD   /bin:/usr/bin:/sbin:/usr/sbin

       INIT_VERSION
              Wie der Name schon sagt. Nutzlich, um festzulegen, ob ein Skript
              direkt von init gestartet werden soll.

       RUNLEVEL
              Der aktuelle Runlevel des Systems.

       PREVLEVEL
              Der   vorherige  Runlevel  (nutzlich  nach  einer  Anderung  des
              Runlevels).

       CONSOLE
              Die Systemkonsole. Diese wird tatsachlich  vom  Kernel  vererbt;
              wenn sie jedoch nicht gesetzt ist, wird init sie als Vorgabe auf
              /dev/console setzen.

BOOTSCHALTER

       Es ist moglich, init eine Reihe von Bootschaltern vom  Bootmonitor  aus
       (z.B. LILO) zu ubergeben. Init akzeptiert folgende Schalter:

       -s, S, single
            Bootet  im  Einzelbenutzermodus.  In  diesem Modus wird zuerst die
            Datei /etc/inittab untersucht und die  >>rc<<-Startskripte  werden
            ausgefuhrt, bevor die Einzelbenutzer-Shell gestartet wird.

       1-5  Runlevel in den gestartet wird.

       -b, emergency
            Startet  direkt  in  eine  Einzelbenutzer-Shell, ohne irgendwelche
            anderen Startskripte auszufuhren.

       -a, auto
            Der LILO-Bootloader fugt das Wort >>auto<< zur Befehlszeile hinzu,
            wenn  der  Kernel mit der Standard-Befehlszeile (ohne Eingriff des
            Anwenders) gestartet wird. Falls dies gefunden  wird,  setzt  init
            die Umgebungsvariable >>AUTOBOOT<< auf >>yes<<. Beachten Sie, dass
            Sie die  nicht  fur  irgendwelche  SicherheitsmaBnahmen  verwenden
            konnen - selbstverstandlich kann der Anwender >>auto<< oder >>-a<<
            manuell auf der Befehlszeile angeben.

       -z xxx
            Das Argument zu -z wird ignoriert. Sie konnen es benutzen, um  die
            Befehlszeile  etwas  zu verlangern, damit sie etwas mehr Platz auf
            dem Stack reserviert.  Init  kann  dann  die  Befehlszeile  derart
            verandern, dass ps(1) den aktuellen Runlevel anzeigt.

SCHNITTSTELLE

       Init  lauscht  auf  einem  fifo in /dev, /dev/initctl, auf Nachrichten.
       Telinit benutzt diesen, um mit Init zu kommunizieren. Die Schnittstelle
       ist  noch  nicht sehr ausfuhrlich dokumentiert oder fertiggestellt. Wer
       interessiert ist, sollte die Datei initreq.h  im  Unterverzeichnis  des
       init-Quellcode-Tar-Archives studieren.

SIGNALE

       Init reagiert auf mehrere Signale:

       SIGHUP
            Hat die gleichen Auswirkungen wie telinit q.

       SIGUSR1
            Beim  Empfang  dieses Signals schlieBt init seinen Steuerungs-Fifo
            /dev/initctl und offnet ihn  wieder.  Nutzlich  fur  Startskripte,
            wenn /dev erneut eingehangt wird.

       SIGINT
            Normalerweise  sendet  der  Kernel  dieses  Signal  an  init, wenn
            CTRL-ALT-DEL gedruckt wurde. Es aktiviert die Aktion ctrlaltdel.

       SIGWINCH
            Der Kernel sendet dieses Signal,  falls  die  KeyboardSignal-Taste
            gedruckt wurde. Es aktiviert die kbdrequest-Aktion.

KONFORM ZU

       Init  ist kompatibel zu System-V-Init. Es arbeitet eng mit den Skripten
       in   den    Verzeichnissen    /etc/init.d    und    /etc/rc{runlevel}.d
       zusammen.Falls Ihr System diesem Grundsatz folgt, sollte sich in diesem
       Verzeichnis eine README-Datei befinden, die erklart wie  diese  Skripte
       funktionieren.

DATEIEN

       /etc/inittab
       /etc/initscript
       /dev/console
       /var/run/utmp
       /var/log/wtmp
       /dev/initctl

WARNUNGEN

       Init  geht davon aus, dass alle Prozesse und Kindprozesse in der selben
       Prozessgruppe verbleiben, die ursprunglich fur sie eingerichtet  wurde.
       Falls  einer  dieser  Prozesse die Gruppe wechselt, kann init ihn nicht
       mehr beenden und es kann passieren, dass Sie in einem  Zustand  landen,
       in dem zwei Prozesse von einer Terminalzeile Befehle einlesen wollen.

       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   zuruckzukehren:  Daemons,  die  in  Runlevel  S
       gestartet wurden und fur normale Operationen  benotigt  werden,  laufen
       nicht langer. Das System sollte neu gestartet werden.

DIAGNOSE

       Wenn  init herausfindet, dass es kontinuierlich einen Eintrag ofter 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 auszufuhren,  bis  funf  Minuten
       vergangen  sind  oder  es  ein Signal empfangt. Dieses verhindert, dass
       Systemressourcen verschwendet werden, wenn jemandem ein  Tippfehler  in
       /etc/inittab   unterlauft  oder  das  zum  Eintrag  gehorende  Programm
       geloscht wird.

AUTOR

       Miquel    van    Smoorenburg    (miquels@cistron.nl),     ursprungliche
       Handbuchseite              von              Michael              Haardt
       (u31b3hs@pool.informatik.rwth-aachen.de).

SIEHE AUCH

       getty(1),   login(1),   sh(1),   runlevel(8),   shutdown(8),   kill(1),
       inittab(5), initscript(5), utmp(5)

"UBERSETZUNG

       Die  deutsche Ubersetzung 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  Ubersetzung  ist  Freie Dokumentation; lesen Sie die GNU General
       Public  License  Version  3  oder  neuer   bezuglich   der   Copyright-
       Bedingungen. Es wird KEINE HAFTUNG ubernommen.

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

                                 29. Juli 2004                         INIT(8)