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