Website-Suche

Erkennen, welcher Systemmanager auf einem Linux-System ausgeführt wird


Objektiv

Es gibt mehrere Systemmanager, die möglicherweise auf Ihrem Linux-System ausgeführt werden können. Die derzeit gebräuchlichsten Systemmanager sind SysV (init), Systemd und Upstart. Möglicherweise ist diese kurze Anleitung für Sie von Nutzen, wenn Sie sich nicht sicher sind, welcher Systemmanager auf Ihrem Linux-System ausgeführt wird.

Anforderungen

Privilegierter Zugriff auf Ihr Linux-System ist erforderlich.

Schwierigkeit

LEICHT

Konventionen

  • # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder mit dem Befehl sudo
  • $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Anweisungen

Der Systemmanager ist ein erster Prozess, der auf Ihrem Linux-System gestartet wird. Wenn ich mir also ansehe, welche Prozesse zuerst mit dem Befehl ps -p 1 gestartet wurden, kann ich einige Hinweise liefern, aber keine endgültigen Antworten. Beispiel:

SysV

ps -p 1
  PID TTY          TIME CMD
    1 ?        00:00:01 init

Systemd

ps -p 1
  PID TTY          TIME CMD
    1 ?        00:00:04 systemd

Emporkömmling

ps -p 1
  PID TTY          TIME CMD
    1 ?        00:00:01 init

Erster Prozess symbolische Verknüpfung

Ein zuverlässigerer Ansatz, um zu überprüfen, welcher Systemmanager auf Ihrem Linux-System ausgeführt wird, besteht darin, nach einem symbolischen Link zu suchen, der auf eine ausführbare Binärdatei des ersten Systemprozesses verweist.

SysV

ls -l /proc/1/exe
lrwxrwxrwx 1 root root 0 Apr  3 04:17 /proc/1/exe -> /sbin/init
OR
stat /proc/1/exe | grep File
  File: `/proc/1/exe' -> `/sbin/init'

Systemd

ls -l /proc/1/exe
lrwxrwxrwx 1 root root 0 Mar 27 09:39 /proc/1/exe -> /lib/systemd/systemd
OR
stat /proc/1/exe | grep File
  File: /proc/1/exe -> /lib/systemd/systemd

Emporkömmling

ls -l /proc/1/exe
lrwxrwxrwx 1 root root 0 Apr  3 04:29 /proc/1/exe -> /sbin/upstart
OR
stat /proc/1/exe | grep File
  File: '/proc/1/exe' -> '/sbin/upstart'

Symbolischer Link initialisieren

Überprüfen Sie, auf welchen Systemmanager die ausführbare Datei /sbin/init zeigt:

SysV

ls -l /sbin/init   
-rwxr-xr-x 1 root root 36992 Jul 14  2013 /sbin/init

Systemd

 ls -l /sbin/init   
lrwxrwxrwx 1 root root 20 Feb 14 03:36 /sbin/init -> /lib/systemd/systemd

Emporkömmling

ls -l /sbin/init    
lrwxrwxrwx 1 root root 7 May 19  2016 /sbin/init -> upstart

Verwandte Artikel: