GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überprüfen Sie den Runlevel unter Linux

Diese kurze Anleitung erklärt, was ein Runlevel ist, wie viele Runlevel es in Linux gibt und wie man den Runlevel in Linux-Betriebssystemen überprüft.

Was ist Runlevel?

Ein Runlevel ist einer der Modi, in denen ein Unix-basiertes Betriebssystem ausgeführt wird. Mit anderen Worten, ein Runlevel ist ein Zustand von init und das ganze System, das definiert, welche Systemdienste in Betrieb sind.

Im Linux-Kernel gibt es 7 Runlevel, beginnend von 0 bis 6. Das System kann jeweils nur in einem Runlevel gebootet werden.

Standardmäßig bootet ein System entweder auf Runlevel 3 oder auf Runlevel 5. Runlevel 3 ist CLI und 5 ist GUI. Der Standard-Runlevel ist in /etc/inittab angegeben Datei in den meisten Linux-Betriebssystemen.

Mit Runlevel können wir leicht herausfinden, ob X läuft oder das Netzwerk betriebsbereit ist und so weiter.

1. Überprüfen Sie den Runlevel in Linux (SysV init)

Hier ist die Liste der Runlevels in Linux-Distributionen, die mit SysV init verteilt wurden als Standarddienstmanager.

  • 0 - Halt
  • 1 - Einzelbenutzer-Textmodus
  • 2 - Nicht verwendet (benutzerdefinierbar)
  • 3 - Vollständiger Mehrbenutzer-Textmodus
  • 4 - Nicht verwendet (benutzerdefinierbar)
  • 5 - Vollständiger grafischer Mehrbenutzermodus (mit einem X-basierten Anmeldebildschirm)
  • 6 - Neustart

Sehen wir uns nun an, wie man die Runlevel findet.

Um den Runlevel des Systems herauszufinden, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

$ runlevel

Beispielausgabe:

N 3

In der obigen Ausgabe der Buchstabe 'N' zeigt an, dass der Runlevel seit dem Booten des Systems nicht geändert wurde. Und 3 ist der aktuelle Runlevel, d. h. das System befindet sich im CLI-Modus.

In neueren Versionen von init finden Sie die aktuellen und vorherigen Runlevel-Details mithilfe der Umgebungsvariablen namens RUNLEVEL und PREVLEVEL .

Sagen wir zum Beispiel, um den aktuellen Runlevel herauszufinden, müssen Sie Folgendes ausführen:

$ echo $RUNLEVEL

So finden Sie den vorherigen Runlevel:

$ echo $PREVLEVEL

Wenn Sie den RunLevel ändern möchten, bearbeiten Sie /etc/inittab Datei:

$ sudo vi /etc/inittab

Suchen und bearbeiten Sie den Eintrag initdefault zum Runlevel Ihrer Wahl. Um beispielsweise den Runlevel auf den grafischen Mehrbenutzermodus (Runlevel 5) einzustellen, ändern Sie ihn wie unten gezeigt.

id:5:initdefault:

Speichern und schließen Sie die Datei. Starten Sie Ihr System neu, um sich bei Ihrem neuen Runlevel anzumelden.

Weitere Einzelheiten zu Runlevels finden Sie in den Manpages.

$ man runlevel

2. Überprüfen Sie den Runlevel in Linux (Systemd)

In neueren Versionen von Linux-Systemen (ab RHEL 7, Ubuntu 16.04 LTS) wurde das Konzept der Runlevel durch systemd ersetzt Ziele.

Hier ist die Liste von Systemd Ziele in Linux-Distributionen, die mit Systemd verteilt wurden als Standarddienstmanager.

  1. runlevel0.target, poweroff.target - Anhalten
  2. runlevel1.target, rescue.target – Einzelbenutzer-Textmodus
  3. runlevel2.target, multi-user.target – Nicht verwendet (vom Benutzer definierbar)
  4. runlevel3.target, multi-user.target – Vollständiger Mehrbenutzer-Textmodus
  5. runlevel4.target, multi-user.target – Nicht verwendet (vom Benutzer definierbar)
  6. runlevel5.target,graphical.target – Vollständiger grafischer Mehrbenutzermodus (mit einem X-basierten Anmeldebildschirm)
  7. runlevel6.target,reboot.target - Neustart

In Linux-Systemen, die Systemd verwenden Als Standard-Service-Manager können Sie das aktuelle Ziel mit folgendem Befehl finden:

$ systemctl get-default

Beispielausgabe:

graphical.target

Wie Sie in der obigen Ausgabe sehen, ist mein aktuelles Runlevel (mit anderen Worten Ziel) 5 , das ist der grafische Modus.

Führen Sie Folgendes aus, um alle derzeit geladenen Ziele anzuzeigen:

$ systemctl list-units --type target

Beispielausgabe:

   UNIT                   LOAD   ACTIVE SUB    DESCRIPTION                             
   basic.target           loaded active active Basic System
   bluetooth.target       loaded active active Bluetooth
   cryptsetup.target      loaded active active Local Encrypted Volumes
   getty.target           loaded active active Login Prompts
   graphical.target       loaded active active Graphical Interface
   local-fs-pre.target    loaded active active Local File Systems (Pre)
   local-fs.target        loaded active active Local File Systems
   multi-user.target      loaded active active Multi-User System
   network-online.target  loaded active active Network is Online
   network-pre.target     loaded active active Network (Pre)
   network.target         loaded active active Network
   nfs-client.target      loaded active active NFS client services
   nss-lookup.target      loaded active active Host and Network Name Lookups
   nss-user-lookup.target loaded active active User and Group Name Lookups
   paths.target           loaded active active Paths
   remote-fs-pre.target   loaded active active Remote File Systems (Pre)
   remote-fs.target       loaded active active Remote File Systems
   rpc_pipefs.target      loaded active active rpc_pipefs.target
   rpcbind.target         loaded active active RPC Port Mapper
   slices.target          loaded active active Slices
   sockets.target         loaded active active Sockets
   sound.target           loaded active active Sound Card
   swap.target            loaded active active Swap
   sysinit.target         loaded active active System Initialization
   timers.target          loaded active active Timers
   veritysetup.target     loaded active active Local Verity Integrity Protected Volumes
 LOAD   = Reflects whether the unit definition was properly loaded.
 ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
 SUB    = The low-level unit activation state, values depend on unit type.
 26 loaded units listed. Pass --all to see loaded but inactive units, too.
 To show all installed unit files use 'systemctl list-unit-files'.

Der obige Befehl zeigt nur die aktiven Ziele an.

Um alle geladenen Ziele (aktiv und inaktiv) anzuzeigen, führen Sie Folgendes aus:

$ systemctl list-units --type target --all

Wenn Sie den RunLevel auf etwas anderes ändern möchten, zum Beispiel runlevel3.target , stellen Sie es wie unten gezeigt ein:

$ sudo systemctl set-default runlevel3.target

Führen Sie den folgenden Befehl aus, um nur in der aktuellen Sitzung zu einer anderen Zieleinheit zu wechseln:

$ sudo systemctl isolate runlevel3.target

Weitere Einzelheiten finden Sie unter Systemd Handbuchseiten.

$ man systemd

Überprüfen Sie den Linux-Runlevel mit dem Befehl „who“

Wie einer der Leser im Kommentarbereich unten vorgeschlagen hat, können wir den Runlevel auch mit who finden Befehl wie unten:

$ who -r

Beispielausgabe:

     run-level 5  2021-06-09 10:21

Hoffe das hilft.

Verwandte Lektüre:

  • Auflisten von Startdiensten beim Booten in Linux

Linux
  1. Wie Linux auf den Mainframe kam

  2. So überprüfen Sie die Redhat-Version

  3. So ändern Sie einen Runlevel auf einem RHEL 7-Linux-System

  4. So überprüfen Sie die Zeitzone in Linux

  5. Wie überprüfe ich HZ im Terminal?

So verwenden Sie den NMAP-Sicherheitsscanner unter Linux

So überprüfen Sie alle laufenden Dienste in Linux

So überprüfen Sie die Passwortkomplexität in Linux

Überprüfen Sie die Zeitzone in Linux

So überprüfen Sie den Auslagerungsbereich unter Linux

So überprüfen Sie die PHP-Version unter Linux