Linux init-Befehl

Linux 命令大全Linux-Befehlsenzyklopädie


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

who -r
# oder
runlevel

2. Cambiar Runlevel

Beispiel

init 3  # Cambiar al modus de linea de comanda multi-usator
init 5  # Cambiar al modus de interfacie graphic
init 0  # Cluder
init 6  # Reinitiar le systema

3. Tractament de emergentias

Beispiel

init 1  # Intrar in modus de manteniment de singul usator (requiere privilegios de root)

Le evolution de init in modern systemas Linux

1. System V init

Sistema traditional de initiatio, usa le file de configuration /etc/inittab

Beispiel

# Exemple de un typic entrada de inittab
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 multi-user.target  # Entspricht init 3
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

  1. Berechtigungsanforderungen: Der init-Befehl erfordert normalerweise Root-Rechte
  2. Mit Vorsicht verwenden: Die direkte Verwendung von init 0 oder init 6 kann zum Verlust nicht gespeicherter Daten führen
  3. Systemunterschiede: Unterschiedliche Distributionen können unterschiedliche init-Implementierungen haben
  4. 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 命令大全Linux-Befehlsenzyklopädie

Andere Erweiterungen