(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/systemdteilt Ihnen mit, dass Sie sich auf einem systemd-basierten System befinden. -
/usr/share/upstartist ein ziemlich guter Indikator dafür, dass Sie sich auf einem Upstart-basierten System befinden. -
/etc/init.dsagt 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“.