So prüfen Sie, ob das Linux-System im Einbenutzermodus ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie den Betriebszustand eines Linux-Systems überprüfen können, insbesondere wie Sie feststellen können, ob das System im Einbenutzermodus ist. Sie werden die traditionellen Runlevels (Ausführungsstufen) mit den Befehlen runlevel und who -r untersuchen und auch das Standard-Systemziel (default system target) in modernen systemd-Umgebungen mit systemctl get-default prüfen. Diese praktische Erfahrung wird Ihnen praktische Fähigkeiten vermitteln, um den Betriebszustand des Systems zu verstehen und zu überprüfen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/UserandGroupManagementGroup -.-> linux/whoami("User Identifying") subgraph Lab Skills linux/help -.-> lab-558810{{"So prüfen Sie, ob das Linux-System im Einbenutzermodus ist"}} linux/which -.-> lab-558810{{"So prüfen Sie, ob das Linux-System im Einbenutzermodus ist"}} linux/service -.-> lab-558810{{"So prüfen Sie, ob das Linux-System im Einbenutzermodus ist"}} linux/whoami -.-> lab-558810{{"So prüfen Sie, ob das Linux-System im Einbenutzermodus ist"}} end

Überprüfen des Runlevels mit runlevel

In diesem Schritt werden wir das Konzept der Runlevels (Ausführungsstufen) in Linux untersuchen und lernen, wie Sie den aktuellen Runlevel mit dem Befehl runlevel überprüfen können.

Runlevels repräsentieren verschiedene Betriebszustände eines Linux-Systems. Jeder Runlevel definiert, welche Dienste gestartet und beendet werden. Beispielsweise kann ein Runlevel für ein Mehrbenutzersystem mit grafischer Oberfläche sein, während ein anderer für den Einbenutzermodus zur Wartung verwendet wird.

Obwohl moderne Linux-Distributionen oft systemd-Ziele anstelle der traditionellen Runlevels verwenden, ist das Verständnis von Runlevels dennoch wertvoll, da Sie sie möglicherweise in älteren Systemen oder Dokumentationen antreffen.

Lassen Sie uns den aktuellen Runlevel Ihrer LabEx-Umgebung überprüfen. Öffnen Sie das Terminal, falls Sie es noch nicht getan haben.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

runlevel

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

N 5

Lassen Sie uns die Ausgabe analysieren:

  • Das erste Zeichen (N in diesem Fall) gibt den vorherigen Runlevel an. N bedeutet, dass es keinen vorherigen Runlevel gab (das System wurde gerade gestartet).
  • Das zweite Zeichen (5 in diesem Fall) gibt den aktuellen Runlevel an.

In traditionellen SysVinit-Systemen gehören die folgenden Runlevels zu den gängigen:

  • 0: Anhalten (System herunterfahren)
  • 1: Einbenutzermodus (zur Wartung)
  • 2: Mehrbenutzermodus ohne Netzwerk
  • 3: Mehrbenutzermodus mit Netzwerk (Textkonsole)
  • 4: Nicht verwendet/benutzerdefinierbar
  • 5: Mehrbenutzermodus mit Netzwerk und grafischer Oberfläche
  • 6: Neustart (System neu starten)

Ihre LabEx-Umgebung läuft im Runlevel 5, was einem Mehrbenutzersystem mit grafischer Desktopumgebung entspricht.

Das Verständnis von Runlevels hilft Ihnen, Probleme beim Systemstart zu beheben und Systemdienste zu verwalten.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen des Runlevels mit who -r

Im vorherigen Schritt haben wir den Befehl runlevel verwendet, um den aktuellen Runlevel zu überprüfen. Eine andere Möglichkeit, ähnliche Informationen zu erhalten, ist die Verwendung des Befehls who mit der Option -r.

Der Befehl who wird normalerweise verwendet, um anzuzeigen, wer sich auf dem System angemeldet hat. Mit der Option -r zeigt er jedoch den aktuellen Runlevel an.

Lassen Sie uns es ausprobieren. Geben Sie in Ihrem Terminal den folgenden Befehl ein und drücken Sie die Eingabetaste:

who -r

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

           run-level 5  <DATE> <TIME>

Diese Ausgabe bestätigt, dass das System derzeit im Runlevel 5 ist. Das Datum und die Uhrzeit geben an, wann das System diesen Runlevel betreten hat.

Wenn Sie die Ausgabe von runlevel und who -r vergleichen, können Sie sehen, dass beide Befehle Informationen über den aktuellen Runlevel liefern, obwohl das Format unterschiedlich ist. who -r gibt eine ausführlichere Ausgabe mit Datum und Uhrzeit.

Das Verwenden verschiedener Befehle, um ähnliche Ergebnisse zu erzielen, ist in Linux üblich. Es ist hilfreich, mehrere Möglichkeiten zu kennen, um die benötigten Informationen zu erhalten, da einige Befehle möglicherweise auf bestimmten Systemen verfügbar sind, während andere es nicht sind, oder ein Befehl möglicherweise detailliertere Informationen liefert als ein anderer.

Üben Sie das Verwenden von sowohl runlevel als auch who -r, um sich mit der Überprüfung des Betriebszustands des Systems vertraut zu machen.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Prüfen des Standardziels mit systemctl get-default

Wie bereits erwähnt, verwenden moderne Linux-Distributionen oft systemd anstelle des traditionellen SysVinit-Systems. systemd nutzt "Ziele" (Targets), die in ihrem Konzept ähnlich wie Runlevels sind, aber mehr Flexibilität bieten.

Ein Ziel ist eine Gruppe von systemd-Einheiten (wie Dienste, Mountpunkte, Sockets usw.), die das System starten oder stoppen muss, um einen gewünschten Zustand zu erreichen. Das Standardziel ist der Zustand, in den das System beim Booten eintritt.

Wir können den Befehl systemctl verwenden, um mit systemd zu interagieren. Der Unterbefehl get-default zeigt das Standardziel an.

Hinweis: Aufgrund der Art und Weise, wie die LabEx-Umgebung in einem Docker-Container läuft, kann sich der Befehl systemctl anders verhalten oder weniger Informationen anzeigen als bei einer vollständigen Betriebssysteminstallation. Dennoch können wir ihn nutzen, um das Konzept der Standardziele zu verstehen.

Geben Sie in Ihrem Terminal den folgenden Befehl ein und drücken Sie die Eingabetaste:

systemctl get-default

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

graphical.target

Diese Ausgabe zeigt, dass das Standardziel für dieses System graphical.target ist. Dieses Ziel umfasst in der Regel alle Dienste, die für ein Mehrbenutzersystem mit grafischer Desktopumgebung benötigt werden, was mit dem Runlevel 5 übereinstimmt, das wir zuvor gesehen haben.

Andere gängige Ziele sind:

  • multi-user.target: Ähnlich wie Runlevel 3, ein Mehrbenutzersystem ohne grafische Oberfläche.
  • rescue.target: Ein Einbenutzermodus zur Systemwiederherstellung.
  • reboot.target: Wird zum Neustarten des Systems verwendet.
  • poweroff.target: Wird zum Herunterfahren des Systems verwendet.

Obwohl Sie in dieser LabEx-Umgebung möglicherweise nicht in der Lage sind, das Standardziel zu ändern, ist es eine grundlegende Fähigkeit für die Verwaltung von systemd-basierten Systemen, zu verstehen, wie man es mit systemctl get-default prüft.

Sie haben nun drei verschiedene Methoden gelernt, um den Betriebszustand des Systems oder seinen Standard-Bootzustand zu prüfen: runlevel, who -r und systemctl get-default.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man den Betriebszustand eines Linux-Systems prüft. Wir haben zunächst das Konzept der Runlevels untersucht, die verschiedene Systemzustände repräsentieren, und den Befehl runlevel verwendet, um den aktuellen Runlevel zu bestimmen. Wir haben die Bedeutung der Ausgabe verstanden, einschließlich des vorherigen und aktuellen Runlevels, und die gängigen Runlevels in traditionellen SysVinit-Systemen besprochen.

Anschließend haben wir eine alternative Methode gelernt, um den Runlevel zu überprüfen, indem wir den Befehl who -r verwendet haben, der ähnliche Informationen über den System-Runlevel liefert. Schließlich haben wir untersucht, wie moderne Linux-Distributionen, die oft systemd verwenden, Systemzustände über Ziele (Targets) anstelle von traditionellen Runlevels verwalten, und den Befehl systemctl get-default verwendet, um das Standardziel zu identifizieren.