Provided by: manpages-de_0.5-5ubuntu1_all bug

BEZEICHNUNG

       init,  telinit  -   Initialisierung  der  Kontrolle  ber  Prozesse  und
       Runlevel

SYNTAX

       /sbin/init [-t sec] [0123456SsQq]

       /sbin/telinit [-t sec] [0123456SsQq]

       Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen  Sie
       die englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 8 init

       eingeben.

BESCHREIBUNG

   init
       Init  ist  der Vater aller Prozesse.  Seine Hauptaufgabe besteht darin,
       Prozesse nach einem Skript in der Datei /etc/inittab zu erzeugen (siehe
       auch inittab(5)).  Diese Datei hat normalerweise bestimmte Eintrge, die
       init dazu veranlassen auf jeder Leitung gettys  zu  erzeugen,  auf  der
       sich  ein Benutzer einloggen kann.  Er kontrolliert auch alle autonomen
       Prozesse, die von einem bestimmten System bentigt werden.

RUNLEVEL

       Ein Runlevel ist ein Softwarezustand des  Systems,  der  es  nur  einer
       bestimmten  Gruppe  von  Prozessen  erlaubt  ausgefhrt  zu werden.  Die
       Prozesse, die von init fr jeden dieser Runlevel erzeugt werden, sind in
       der  Datei  /etc/inittab  definiert.   Init kann sich in einem von acht
       Runlevel befinden, 0-6 und S oder s.  Init wechselt den Runlevel,  wenn
       ein  priviligierter  Benutzer  das  Programm /sbin/telinit startet, das
       init bestimmte Signale sendet, die ihm  sagen,  in  welchen  Runleveles
       wechseln soll.

       Die  Runlevel  0,  1  und  6 sind reserviert.  Der Runlevel 0 wird dazu
       verwendet, das System anzuhalten, der Runlevel 6 iwr dafr benutzt,  das
       System  neuzusatarten,  und  der  Runlevel  1  wird dafr verwendet, das
       System in den Single-User-Modus herunterzufahren.  Der Runlevel S  wird
       normalerweise   nicht   direkt  angesprungen,  sondern  dient  nur  als
       Zwischenstufe fr  die  Skripte,  die  ausgefhrt  werden,  wenn  in  den
       Runlevel  1  bergegangen wird.  Weitere Informationen darber finden Sie
       in den Handbuchseiten zu shutdown(8) und inittab(5).

       Die  Runlevel  7-9  sind  ebenfalls  gltig,   jedoch   nicht   wirklich
       dokumentiert.     Das   liegt   daran,   dass   die    "traditionellen"
       UNIX-Varianten diese nicht benutzen.   Manche  werden  sich  vielleicht
       auch   wundern,   dass   es  zwischen  den  Runlevel  S  und  s  keinen
       ersichtlichen  Unterschied  gibt.   Tatschlich  sind   beide   Optionen
       lediglich ein Alias fr ein und den selben Runlevel.

SYSTEMSTART

       Wenn  init  im letzten Schritt des Bootprozesses aufgerufen wird, sucht
       er nach der Datei  /etc/inittab  und  sieht  nach,  ob  es  dort  einen
       initdefault-Eintrag  gibt (siehe inittab(5)).  initdefault bestimmt den
       Anfangs-runlevel des Systems.  Falls es dort keine derartige Eintragung
       gibt,   oder   gar  keine  inittab-Datei  existiert,  so  muss  an  der
       Systemkonsole der runlevel eingegeben werden.

       Die runlevel S oder s bringen das System in den Single-user Modus,  und
       bentigen  keine  /etc/inittab-Datei.   Im  Single-user-Modus  wird  auf
       /dev/console /sbin/sulogin aufgerufen.

       Wenn das System in  den  Single-user  Modus  bergeht,  liest  init  die
       ioctl(2)-Zustnde der Konsole in /etc/ioctl.save.  Existiert diese Datei
       nicht, dann initialisiert init  die  Leitung  mit  9600  BAUD  und  mit
       CLOCAL-Einstellungen.    Wenn   init   den  Single-User-Modus  verlsst,
       schreibt es die ioctl-Einstellungen in   diese  Datei,  so  dass  diese
       Eintrge  bei  der  nchsten  Single-User-Sitzung  wiederverwendet werden
       knnen.

       Wenn init das erste mal in einen Multi-User-Modus eintritt, fhrt er die
       boot- und bootwait-Eintrge der Datei /etc/inittab aus, die es erlauben,
       dass die Dateisysteme gemountet werden knnen, bevor sich  ein  Benutzer
       einloggen  kann.   Danach werden alle die runlevel betreffenden Eintrge
       ausgefhrt.

       Immer wenn init einen neuen Prozess startet, schaut das  Programm  erst
       nach,  ob  die  Datei  /etc/initscript  existiert.   Wenn  es sie gibt,
       benutzt init das Skript dieser Datei um den Prozess zu starten.

       Jedesmal, wenn ein Kindprozess terminiert, hlt init diese Tatsache  und
       den  Grund,  weshalb  der  Kindprozess  gestorben  ist,  in den Dateien
       /var/run/utmp und /var/log/wtmp fest, falls diese Dateien existieren.

RUNLEVEL-NDERUNGEN

       Sobald alle vorgesehenen Prozesse  erzeugt  worden  sind,  wartet  init
       darauf,  dass  ein  Kindprozess stirbt, auf ein Stromausfallsignal oder
       auf eine Anweisung von /sbin/telinit, in welchen runlevel  er  wechseln
       soll.   Wenn  eine  der  drei  oben  genannten  Bedingungen erfllt ist,
       untersucht  init  nochmals  die  /etc/inittab-Datei,  da  dieser  Datei
       jederzeit   neue   Eintrge  hinzugefgt  werden  knnen.   Man  kann  den
       schlafenden init-Prozess auch mit den Kommandos Q oder q aufwecken, was
       ihn dazu veranlat, nochmals die /etc/inittab-Datei zu examinieren.

       Wenn   init   sich   nicht  im  Single-User  Modus  befindet,  und  ein
       Stromausfallsignal   (SIGPWR)   empfngt,    liest    es    die    Datei
       /etc/powerstatus.   Anschlieend  wird ein Befehl anhand des Inhalts der
       Datei gestartet:

       F(AIL) Strom fllt aus, die USV versorgt den  Rechner  mit  Strom.   Die
              powerwait- und powerfail-Eintrge werden ausgefhrt.

       O(K)   Strom wurde wiederhergestellt, es werden die powerokwait-Eintrge
              ausgefhrt.

       L(OW)  Strom wird knapp und die USV  geht  auf  dem  Zahnfleisch.   Die
              powerfailnow-Eintrge werden ausgefhrt.

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

       Die  Verwendung von SIGPWR und /etc/powerstatus werden nicht empfohlen.
       Wenn etwas  mit  init  interagieren  mchte,  sollte  der  Kontrollkanal
       /dev/initctl  verwendet werden - siehe Quellcode des sysvinit-Pakets fr
       mehr Dokumentation darber.

       Wenn init angewiesen wird den runlevel zu wechseln, wird das Warnsignal
       SIGTERM an alle Prozesse geschickt, die nicht in der Datei /etc/inittab
       fr den  neuen runlevel vorgesehen sind.  Init wartet  dann  5  Sekunden
       bevor   er   diese  Prozesse  mit  dem  kill-Signal  SIGKILL  gewaltsam
       terminiert.  Achtung: init nimmt an,  dass  alle  diese  Prozesse  (und
       deren  Nachfahren) in derselben Prozessgruppe verblieben sind, die init
       ursprnglich fr sie erzeugt hat (siehe  setpgrp(2)).   Wenn  irgendeiner
       dieser  Prozesse  seine Prozessgruppenzugehrigkeit gendert hat, wird er
       diese Signale nicht erhalten!  Solche Prozesse mssen einzeln terminiert
       werden!

TELINIT

       Das  Programm  /sbin/telinit  ist  auf /sbin/init gelinkt.  Er wird mit
       Argumenten, die aus nur einem Buchstaben bestehen gesteuert, und sendet
       init Anweisungen (Signale), welche Aktionen dieses auszufhren hat.  Die
       folgenden Argumente dienen als Anweisungen fr telinit:

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

       a,b,c  befehlen /sbin/init  nur  die  Eintrge  der  Datei  /etc/inittab
              auszufhren, die den Runlevel a, b oder c haben.

       Q oder q
              befehlen   /sbin/telinit   nocheinmal   die  Datei  /etc/inittab
              einzulesen.

       S oder s
              befehlen /sbin/telinit in den Single-User-Modus zu schalten.

       /sbin/telinit kann den init-Prozess auch anweisen, wie viel Zeit dieser
       zwischen  dem  Senden  des  TERM  und des KILL Signals warten soll; die
       Standardeinstellung ist 5 Sekunden, kann jedoch durch die Option -t sec
       verndert werden.

       /sbin/telinit   kann   nur   von  Benutzern  mit  einer  entsprechenden
       Berechtigung aufgerufen werden.

       Das init-Programm berprft, ob es als init oder telinit gestartet wurde,
       indem  es  auf  seine Prozess-ID schaut; die reelle Prozess-ID von init
       ist immer 1.  Von daher darf man einfach auch init anstelle von telinit
       verwenden oder eines Aliases.

UMGEBUNG

       Init setzt folgende Umgebungsvariablen fr alle seine Kindprozesse:

       PATH   Wird                       standardmig                       auf
              /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin gesetzt.

       INIT_VERSION
              Wie der Name schon sagt.  Ntzlich, wenn ein  Skript  direkt  von
              init ausgefhrt werden soll.

       RUNLEVEL
              Der augenblickliche Runlevel des Systems.

       PREVLEVEL
              Der   vorherige   Runlevel   (ntzlich  nach  einer  nderung  des
              Runlevels).

       CONSOLE
              Die System-KOnsole.  Diese wird tatschlich vom  Kernel  vererbt;
              wenn   sie   jedoch   nicht  gesetzt  ist,  wird  init  sie  auf
              /dev/console setzen als Voreinstellung.

BOOTSIGNALE

       Es  ist  mglich  init  eine  Reihe  von  Bootsignalen  (bootflags)  vom
       Bootmonitor  aus  (d.h.  vom  LILO  aus)  zu bergeben.  Init akzeptiert
       folgende Signale:

       -s, S, single
              Bootet im Single-user Modus.  In diesem Modus  wird  zuerst  die
              Datei  /etc/inittab  eingelesen;  danach  werden, noch bevor die
              Single-User-Shell gestartet  wird,  die  Bootskripte  der  Datei
              /sbin/init.d/boot ausgefhrt.

       1,2,3,4 oder 5
              Weist init an, in welchen Runlevel gebootet werden soll.

       -b, emergency
              Gibt  init  die  Anweisung  direkt  in  den Single-User-Modus zu
              booten, ohne irgendwelche Startup-Skripte auszufhren.

       -a, auto
              Der LILO-Bootloader fgt das Wort an den Kernel.  init ist in der
              Lage, es zu lesen.

       -z xxx Das  Argument  zu  -z wird ignoriert.  Sie knnen es benutzen, um
              die Kommandozeile etwas zu verlngern, damit sie etwas mehr Platz
              auf   dem   Stack   reserviert.    Init   kann  anschlieend  die
              Kommandozeile derart  modifizieren,  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 ausfhrlich dokumentiert.  Wer interessiert ist, mge
       die Datei initreq.h im Quellcode von init studieren.

SIGNALE

       Init reagiert auf verschiedene Signale:

       SIGHUP
            Init sucht nach  /etc/initrunlvl  und  /var/log/initrunlvl.   Wenn
            eine  dieser  Dateien  existiert  und einen ASCII-Runlevel enthlt,
            wechselt init in den neuen  Runlevel.   Dieses  existiert  nur  fr
            Abwrtskompatibilitt!   In  normalen  Fllen (wenn die Dateien nicht
            existieren) verhlt sich init, als wenn telinit q ausgefhrt  wurde.

       SIGUSR1
            Beim   Emfang  dieses  Signals  schliet  init  sein  Kontroll-Fifo
            /dev/initctl und ffnet ihn wieder.   Das  ist  sinnvoll  fr  Boot-
            Skripte, wenn /dev neu gemountet wird.

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

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

KONFORM ZU

       Init  ist  kompatibel  zum  System  V  init.   Er  arbeitet eng mit den
       Skripten  zusammen,  die  in  den   Verzeichnissen   /sbin/init.d   und
       /sbin/init.d/rc{runlevel  1-6}.d  untergebracht  sind.  Wenn das System
       dieser Konvention folgt, sollte sich in diesem Verzeichnis eine  README
       -Datei befinden, die erklrt wie diese Skripte funktionieren.

DATEIEN

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

WARNUNGEN

       Init  geht davon aus, dass alle Prozesse und Kindprozesse in der selben
       Prozessgruppe verbleiben, die ursprnglich fr  sie  eingerichtet  worden
       ist.   Wenn  einer dieser Prozesse in eine andere Gruppe wechselt, kann
       init ihn nicht mehr beenden, und es kann passieren, dass man  in  einem
       Zustand  landet, in dem zwei Prozesse von einer Terminalleitung Befehle
       einlesen wollen.

DIAGNOSE

       Wenn init herausfindet, dass es kontinuierlich einen Eintrag  fter  als
       10  mal  in 2 Minuten neu erzeugt, wird es annehmen, dass ein Fehler in
       der Befehlszeile vorliegt, einen Fehler  erzeugen,  Meldungen  auf  die
       Systemkonsole erstatten und sich weigern, den Eintrag auszufhren, bis 5
       Minuten vergangen sind oder es ein Signal empfngt.  Dieses  verhindert,
       dass Systemressourcen verschwendet werden, wenn jemand einen Tippfehler
       in /etc/inittab einbaut oder das zum Eintrag gehrende Programm lscht.

AUTOR

       Miquel van Smoorenburg <miquels@cistron.nl>, ursprngliche  Manpage  von
       Michael   Haardt  <u31b3hs@pool.informatik.rwth-aachen.de>,  bersetzung
       Martin Okrslar  <okrslar@informatik.uni-muenchen.de>  und  berarbeitung
       von Martin Schulze <joey@infodrom.north.de>.

SIEHE AUCH

       getty(1),  login(1),  sh(1),  who(1), shutdown(1), kill(2), inittab(5),
       inscript(5), utmp(5).

                               11. February 2000                       INIT(8)