Linux -Runlevels repräsentieren verschiedene Systemzustände oder Betriebsmodi. Die spezifische Funktionalität, die mit jedem Runlevel verbunden ist, kann zwischen Verteilungen (wie Debian, Red Hat usw.) geringfügig variieren, aber die allgemeine Idee bleibt konsistent. Traditionelle Sysvinit-Systeme verwendeten nummerierte Runlevels (0-6), während systemd (verwendet von den meisten modernen Verteilungen) Ziele verwendet, die konzeptionell ähnlich sind, aber unterschiedlich implementiert werden.
sysvinit Runlevels (ältere Systeme):
* 0:Halt: Systemabschaltung.
* 1:Einzelbenutzermodus: Eine minimale Umgebung, die normalerweise nur vom Stammbenutzer zugänglich ist. Nützlich für Systemverwaltungs- und Wartungsaufgaben, ohne die vollständige grafische Umgebung oder Dienste zu beginnen.
* 2:Multi-Benutzer, ohne NFS: Eine vollständige Umgebung mit mehreren Benutzern, jedoch ohne das Netzwerkdateisystem (NFS).
* 3:Multi-Benutzer, mit Networking: Eine vollständige Multi-Benutzer-Umgebung mit aktiviertem Netzwerk. Dies ist oft die Standard -Runlevel für viele Serversysteme.
* 4:Unbenutzt: Normalerweise reserviert, aber nicht standardisiert.
* 5:Multi-Benutzer mit grafischer Schnittstelle (x11): Eine vollständige Multi-Benutzer-Umgebung mit einer grafischen Benutzeroberfläche. Dies ist der häufigste Runlevel für Desktop -Systeme.
* 6:Neustart: System Neustart.
Systemd Ziele (moderne Systeme):
Systemd verwendet nicht direkt nummerierte Runlevels. Stattdessen werden *Ziele *verwendet, die symbolische Links zu runni-ähnlichen Zuständen sind. Diese sind flexibler und beschreibender. Einige gängige Ziele umfassen:
* `Multi-Benutzer.target`: Ähnlich wie bei Runlevel 3. Eine vollständige Multi-Benutzer-Umgebung mit Networking. Dies ist oft das Standardziel für Server.
* `grafisch.target`: Ähnlich wie Runlevel 5. Eine Umgebung mit mehreren Benutzern mit einer grafischen Schnittstelle. Dies ist das Standardziel für Desktop -Systeme.
* `rescue.target`: Ähnlich wie bei einem Einzelbenutzermodus eine minimale Umgebung für die Fehlerbehebung.
* `poweroff.target`: Schließt das System ab. Äquivalent zu Runlevel 0.
* `reboot.target`: Startet das System neu. Äquivalent zu Runlevel 6.
Wichtige Überlegungen:
* Verteilungsunterschiede: Das genaue Verhalten und die genauen Dienste, die bei jedem Runlevel oder Ziel gestartet wurden, können zwischen Linux -Verteilungen variieren. Wenden Sie sich immer an die Dokumentation Ihrer Distribution.
* Init Systems: Das Init -System (sysvinit, systemd, upstart usw.) verwaltet die Runlevels oder Ziele.
* Dienste: Einzelne Dienste (Daemons) werden getrennt kontrolliert, häufig durch Tools wie "SystemCtl" (für systemd) oder "service" (für sysvinit). Diese Dienste bestimmen, welche Anwendungen und Dämonen auf jeder Ebene ausführen.
Zusammenfassend lässt sich sagen, dass die nummerierten Runlevels in Sysvinit eine einfache Möglichkeit boten, Systemzustände zu kategorisieren, systemd -Ziele einen detaillierteren und flexibleren Ansatz für das Verwalten von Systemstarts und Herunterfahren bieten. Die Kernfunktionalität, die unterschiedliche Betriebsmodi für das System bereitstellt, bleibt jedoch gleich.