.\" -*- coding: UTF-8 -*- .\" Written by Oron Peled . .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" I tried to be as much generic in the description as possible: .\" - General boot sequence is applicable to almost any .\" OS/Machine (DOS/PC, Linux/PC, Solaris/SPARC, CMS/S390) .\" - kernel and init(1) is applicable to almost any UNIX/Linux .\" - boot scripts are applicable to SYSV-R4 based UNIX/Linux .\" .\" Modified 2004-11-03 patch from Martin Schulze .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH boot 7 "8. Juli 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG boot \- Systemhochfahrprozess, basierend auf UNIX System V Release 4 .SH BESCHREIBUNG Der \fBSystemstartprozess\fP (oder die »\fBHochfahrsequenz\fP«) unterscheidet sich im Detail zwischen den Systemen, kann aber grob in Phasen eingeteilt werden, die von folgenden Komponenten gesteuert werden: .IP (1) 5 Hardware .IP (2) Betriebssystem\- (OS\-)Ladeprogramm .IP (3) Kernel .IP (4) Wurzel\-Anwendungsraum\-Prozess (\fIinit\fP und \fIinittab\fP) .IP (5) Systemstartskripte .PP Jeder dieser wird nachfolgend in größerem Detail beschrieben. .SS Hardware Nach dem Einschalten oder einem harten Zurücksetzen wird die Steuerung an ein Programm übergeben, das in schreibgeschütztem Speicher (normalerweise PROM) liegt; aus historischen Gründen, die den PC betreffen, heißt dieses Programm oft »das \fBBIOS\fP«. .PP Dieses Programm führt normalerweise eine Reihe von Selbsttests der Maschine durch und greift auf nichtflüchtigen Speicher zu, um weitere Parameter zu lesen. Dieser Speicher im PC wird durch Batterien gesichert, daher verweisen die meisten Leute in der PC\-Welt auf »das \fBCMOS\fP«, ansonsten wird es normalerweise »das \fBNVRAM\fP« (nichtflüchtiger RAM) genannt. .PP Die im NVRAM gespeicherten Parameter unterscheiden sich zwischen Systemen, aber minimal sollten sie festlegen, welches Gerät das Betriebssystemladeprogramm bereitstellen kann oder mindestens auf welchen Geräten danach gesucht werden kann; ein solches Gerät ist als »das \fBSystemstartgerät\fP« bekannt. Die Hardware\-Systemstartstufe lädt das Betriebssystemladeprogramm von einer festen Position auf dem Systemladegerät und übergibt ihm dann die Steuerung. .TP Hinweis: Das Gerät, von dem das Betriebssystemladeprogramm gelesen wird, kann über ein Netzwerk angehängt sein. In diesem Fall werden die Systemladedetails weiter in Protokollen wie DHCP, TFTP, PXE, Etherboot usw. festgelegt. .SS Betriebssystemladeprogramm Die Hauptaufgabe des Betriebssystemladeprogramms ist es, den Kernel auf einem Gerät zu finden, ihn zu laden und auszuführen. Die meisten Betriebssystemladeprogramme erlauben eine interaktive Verwendung, um die Festlegung eines alternativen Kernels zu ermöglichen (vielleicht ein Rückfallkernel, falls der letzte kompilierte nicht funktioniert) und optionale Parameter an den Kernel zu übergeben. .PP Auf einem traditionellen PC befindet sich das Betriebssystemladeprogramm in dem ersten 512\-byte\-Block des Systemstartgeräts; dieser Block ist als »der \fBMBR\fP« (Master Boot Record) bekannt. .PP Auf den meisten Systemen ist das Betriebssystemladeprogramm aufgrund verschiedener Beschränkungen sehr eingeschränkt. Selbst auf Nicht\-PC\-Systemen gibt es einige Beschränkungen der Größe und der Komplexität dieses Ladeprogramms, aber die Größenbeschränkung des PC MBRs (512 bytes, einschließlich der Partitionstabelle) macht es fast unmöglich, viel Funktionalität dort hinein zu quetschen. .PP Daher teilen die meisten Systeme die Rolle des Betriebssystemladens in ein primäres Betriebssystemladeprogramm und ein sekundäres Betriebssystemladeprogramm; dieses sekundäre Betriebssystemladeprogramm kann sich auf einer größeren Portion des dauerhaften Speichers befinden, beispielsweise einer Plattenpartition. .PP Unter Linux ist das Betriebssystemladeprogramm oft \fBgrub\fP(8) (\fBlilo\fP(8) ist eine Alternative). .SS Kernel Wenn der Kernel geladen wird, initialisiert er verschiedene Komponenten des Computers und Betriebssystems; jeder für eine solche Aufgabe zuständige Softwareteil wird normalerweise als »ein \fBTreiber\fP« für die zugehörige Komponente betrachtet. Der Kernel startet den Auslagerungsprozess für virtuellen Speicher (das ist ein Kernelprozess, der bei einem modernen Linux\-Kernel »kswapd« genannt wird) und hängt einige Dateisysteme am Wurzelpfad \fI/\fP ein. .PP Einige an den Kernel übergebbare Parameter beziehen sich auf diese Aktivitäten (beispielsweise kann das Wurzeldateisystem außer Kraft gesetzt werden); für weitere Informationen über Linux\-Kernelparameter lesen Sie \fBbootparam\fP(7). .PP Erst dann erstellt der Kernel den anfänglichen Prozess im Anwendungsraum, dem die Nummer 1 als seine \fBPID\fP (Prozesskennung) gegeben wird. Traditionell führt dieser Prozess das Programm \fI/sbin/init\fP aus, an den die Parameter übergeben werden, die noch nicht vom Kernel berücksichtigt wurden. .SS "Wurzelprozess des Anwendungsraums" .TP Hinweis: Die folgende Beschreibung gilt für ein auf UNIX System V Release 4 basierendes Betriebssystem. Eine Reihe von breit genutzten Systemen hat einen verwandten, aber fundamental verschiedenen Ansatz eingeführt, der als \fBsystemd\fP(1) bekannt ist und dessen Systemstartprozess im Detail in seiner zugehörigen \fBbootup\fP(7) beschrieben ist. .PP Wenn \fI/sbin/init\fP startet, liest es \fI/etc/inittab\fP für weitere Anweisungen. Diese Datei definiert, was ausgeführt werden soll, wenn das Programm \fI/sbin/init\fP angewiesen wird, in einen bestimmten Runlevel einzutreten. Damit hat der Administrator eine einfache Möglichkeit, eine Umgebung für einen bestimmten Anwendungsfall einzurichten; jedem Runlevel wird ein Satz an bestimmten Diensten zugeordnet. (Beispielsweise ist Runlevel \fBS\fP der Einzelbenutzer\-Modus und Runlevel \fB2\fP bedeutet die Ausführung der meisten Netzwerkdienste.) .PP Der Administrator kann den aktuellen Runlevel mit \fBinit\fP(1) ändern und den aktuellen Runlevel mittels \fBrunlevel\fP(8) abfragen. .PP Da es allerdings nicht praktisch ist, individuelle Dienste durch Bearbeitung dieser Datei zu verwalten, startet \fI/etc/inittab\fP eine Reihe von Skripten, die dann tatsächlich die einzelnen Dienste starten bzw. stoppen. .SS Systemstartskripte .TP Hinweis: Die folgende Beschreibung gilt für ein auf UNIX System V Release 4 basierendes Betriebssystem. Eine Reihe viel genutzter Systeme (Slackware Linux, FreeBSD, OpenBSD) haben allerdings ein leicht anderes Schema für Systemstartskripte. .PP Für jeden verwalteten Dienst (E\-Mail, NFS\-Server, Cron usw.) gibt es ein einzelnes Startskript, das sich in einem bestimmten Verzeichnis (\fI/etc/init.d\fP in den meisten Linux\-Versionen) befindet. Jedes dieser Skripte akzeptiert als einziges Argument »start« (wodurch der Dienst gestartet wird) oder »stop« (wodurch der Dienst gestoppt wird). Das Skript kann optional weitere »Bequemlichkeitsparameter« akzeptieren (z.B. »restart«, um den Dienst zu stoppen und dann zu starten, »status«, um den Dienstestatus anzuzeigen usw.). Wird das Skript ohne Parameter ausgeführt, dann werden die möglichen Argumente angezeigt. .SS Ablaufverzeichnisse Damit bestimmte Skripte in bestimmten Runleveln in einer bestimmten Reihenfolge starten/stoppen, gibt es \fIAblaufverzeichnisse\fP, normalerweise der Form \fI/etc/rc[0\-6S].d\fP. In jedem dieser Verzeichnisse gibt es Links (normalerweise symbolische) auf die Skripte im Verzeichnis \fI/etc/init.d\fP. .PP Ein primäres Skript (normalerweise \fI/etc/rc\fP) wird von \fBinittab\fP(5) aufgerufen; dieses primäre Skript ruft jedes Dienste\-Skript über einen Symlink im relevanten Ablaufverzeichnis auf. Jeder Link, dessen Name mit »S« beginnt, wird mit dem Argument »start« aufgerufen (und startet daher den Dienst). Jeder Link, dessen Name mit »K« beginnt, wird mit dem Argument »stop« aufgerufen (und stoppt damit den Dienst). .PP Um innerhalb des gleichen Runlevels die Start\- oder Stoppreihenfolge zu definieren, enthält der Link eine \fBOrdnungsnummer\fP. Zur Klarheit endet der Linkname normalerweise mit dem Dienstenamen, auf den er sich bezieht. Beispielsweise startet der Link \fI/etc/rc2.d/S80sendmail\fP den Dienst \fBsendmail\fP(8) im Runlevel 2. Dies passiert nach der Ausführung von \fI/etc/rc2.d/S12syslog\fP aber vor der Ausführung von \fI/etc/rc2.d/S90xfs\fP. .PP Durch Verwaltung dieser Links werden die Systemstartreihenfolge und Runlevel gesteuert; unter vielen Systemen gibt es Werkzeuge, um bei dieser Aufgabe zu helfen (z.B. \fBchkconfig\fP(8)). .SS Systemstartkonfiguration Ein Programm, das einen Dienst bereitstellt, wird oft »\fBDaemon\fP« genannt. Normalerweise kann ein Daemon viele Befehlszeilenoptionen und \-parameter empfangen. Damit ein Systemadministrator die Möglichkeit hat, diese Eingaben zu ändern, ohne gleich ein komplettes Startskript anpassen zu müssen, wird eine getrennte Konfigurationsdatei verwandt. Diese befindet sich in einem bestimmten Verzeichnis, wo die zugehörigen Systemstartskripte sie finden können (\fI/etc/sysconfig\fP auf älteren Red\-Hat\-Systemen). .PP Auf älteren UNIX\-Systemen enthielt eine solche Datei die tatsächlichen Befehlszeilenoptionen für einen Daemon. Auf modernen Linux\-Systemen (und auch bei HP\-UX) enthält sie aber nur Shell\-Variablen. Ein Systemstartskript in \fI/etc/init.d\fP liest diese Konfigurationsdatei und bindet sie ein (englisch »\fBsources\fP«) und verwendet dann die Variablenwerte. .SH DATEIEN \fI/etc/init.d/\fP, \fI/etc/rc[S0\-6].d/\fP, \fI/etc/sysconfig/\fP .SH "SIEHE AUCH" \fBinit\fP(1), \fBsystemd\fP(1), \fBinittab\fP(5), \fBbootparam\fP(7), \fBbootup\fP(7), \fBrunlevel\fP(8), \fBshutdown\fP(8) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .