Linux init-Befehl
Was ist der init-Befehl
initEs ist einer der wichtigsten Prozesse im Linux-System. Es ist der erste Prozess auf Benutzerebene (PID=1), der vom Kernel nach dem Systemstart erstellt wird, und ist dafür verantwortlich, alle anderen Prozesse im System zu starten und zu verwalten.
Hauptmerkmale
- Prozessverwaltung: Dient als Elternprozess aller Prozesse
- Runlevel-Steuerung: Verwaltet verschiedene Laufzeitzustände des Systems
- Diensteverwaltung: Startet und stoppt Systemdienste
- Systeminitialisierung: Führt Startskripte und Konfiguration aus
Grundlegende Syntax des init-Befehls
init [运行级别]
Runlevel-Erklärung
Das Linux-System definiert 7 Standard-Runlevels:
| Runlevel | Beschreibung | Typische Verwendung |
|---|---|---|
| 0 | Herunterfahren | System-Herunterfahrzustand |
| 1 | Einzelbenutzermodus | Systemwartung / Root-Rechte |
| 2 | Mehrbenutzermodus (ohne NFS) | Basis-Mehrbenutzermodus |
| 3 | Vollständiger Mehrbenutzermodus | Standard-Befehlszeilenschnittstelle |
| 4 | Reserviert | Benutzerdefiniert |
| 5 | Grafischer Oberflächenmodus | Mehrbenutzermodus mit GUI |
| 6 | Neustart | Systemneustart |
Praktische Anwendungen des init-Befehls
1. Aktuellen Runlevel anzeigen
Beispiel
# oder
runlevel
2. Cambiar Runlevel
Beispiel
init 5 # Cambiar al modus de interfacie graphic
init 0 # Cluder
init 6 # Reinitiar le systema
3. Tractament de emergentias
Beispiel
Le evolution de init in modern systemas Linux
1. System V init
Sistema traditional de initiatio, usa le file de configuration /etc/inittab
Beispiel
id:3:initdefault: # Standard-Runlevel
si::sysinit:/etc/rc.d/rc.sysinit # Systeminitialisierung
2. Upstart (in Ubuntu-Versionen verwendet)
Ereignisgesteuertes Init-System
3. systemd (moderne Mainstream-Distributionen)
Beispiel
systemctl isolate graphical.target # Entspricht init 5
Praktische Übung
Übung 1: Runlevel
Von der grafischen Oberfläche zur Kommandozeile wechseln
init 3
Änderungen an Diensten beobachten, dann zurück zur grafischen Oberfläche wechseln
init 5
Übung 2: Erfahrung mit dem Systemwartungsmodus
In den Einzelbenutzermodus wechseln
init 1
Dateisystemprüfung durchführen
fsck /dev/sda1
Hinweise
- Berechtigungsanforderungen: Der init-Befehl erfordert normalerweise Root-Rechte
- Mit Vorsicht verwenden: Die direkte Verwendung von init 0 oder init 6 kann zum Verlust nicht gespeicherter Daten führen
- Systemunterschiede: Unterschiedliche Distributionen können unterschiedliche init-Implementierungen haben
- Auswirkungen auf Dienste: Das Wechseln von Runlevels stoppt/startet zugehörige Dienste
FAQ
F: Warum hat mein System keine /etc/inittab-Datei?
A: Systeme, die systemd verwenden, benötigen kein inittab mehr; die Konfigurationsmethode hat sich geändert
F: Wie wird der Standard-Runlevel eingestellt?
Für systemd-Systeme:
systemctl set-default multi-user.target # 相当于运行级别3
F: Was ist der Unterschied zwischen den Befehlen init und shutdown?
Beide fahren letztlich das System herunter, aber shutdown bietet mehr Optionen (wie verzögertes Herunterfahren, Broadcast-Benachrichtigungen usw.)
Linux-Befehlsenzyklopädie