(20 Antworten)
Vor 6 Jahren geschlossen.
Gibt es eine einfache Möglichkeit, herauszufinden, welches Initsystem verwendet wird, z. B. von einem kürzlich erschienenen Debian wheezy
oder Fedora
System? Mir ist bekannt, dass Fedora 21
verwendet systemd
initsystem, aber das liegt daran, dass ich das gelesen habe und weil alle relevanten Skripte/Symlinks in /etc/systemd/
gespeichert sind . Allerdings bin ich mir z. B. bei Debian squeeze
nicht sicher oder CentOS 6 or 7
und so weiter.
Welche Techniken gibt es, um ein solches Initsystem zu verifizieren?
Akzeptierte Antwort:
Sie können im System herumstöbern, um Indikatoren zu finden. Eine Möglichkeit besteht darin, zu prüfen, ob drei Verzeichnisse vorhanden sind:
-
/usr/lib/systemd
teilt Ihnen mit, dass Sie sich auf einem systemd-basierten System befinden. -
/usr/share/upstart
ist ein ziemlich guter Indikator dafür, dass Sie sich auf einem Upstart-basierten System befinden. -
/etc/init.d
sagt Ihnen, dass die Box SysV-Init in ihrer Historie hat
Die Sache ist, dass dies Heuristiken sind, die zusammen betrachtet werden müssen, möglicherweise mit anderen Daten, nicht bestimmten Indikatoren für sich. Die Ubuntu 14.10-Box, die ich mir gerade anschaue, hat alle drei Verzeichnisse. Wieso den? Weil Ubuntu in dieser Version gerade von Upstart auf systemd umgestiegen ist, aber Upstart und SysV init für die Abwärtskompatibilität behält.
Am Ende denke ich, dass die beste Antwort „Erfahrung“ ist. Sie werden sehen, dass Sie sich bei einer CentOS 7-Box angemeldet haben und wissen, dass es systemd ist. Wie lernt man das? Herumspielen, RTFMing usw. Auf die gleiche Weise sammeln Sie alle Erfahrungen.
Mir ist klar, dass dies keine sehr zufriedenstellende Antwort ist, aber das passiert, wenn der Markt fragmentiert ist und nicht standardisierte Designs entstehen. Es ist wie die Frage, woher Sie wissen, ob ls
akzeptiert -C
, oder --color
, oder gibt überhaupt keine Farbe aus. Auch hier lautet die Antwort „Erfahrung“.