Warum wird ein Dienst gestartet, wenn er nicht in /etc/init.d erwähnt wird?

Warum wird ein Dienst gestartet, wenn er nicht in /etc/init.d erwähnt wird?

Nach einer Neuinstallation von Fedora 17 und distcc-serverhabe ich einen durchgeführt service distccd start, der erfolgreich abgeschlossen wurde.

man servicedistccdgibt an, dass das Skript lediglich unter ausgeführt würde /etc/init.d/distccd, aber diese Datei existiert nicht. chkconfigscheint auch nichts über zu wissen distccd, was dadurch bestätigt wird, dass es keine zugehörigen Dateien in gibt /etc/rc[0-6].d. Es gibttutEs gibt eine Datei /etc/sysconfig/distccdmit Ausführungsoptionen für den Distcc-Daemon, aber ich kann scheinbar keinen Link servicedazu finden /etc/sysconfig.

Woher serviceweiß er, was zu tun ist, wenn ich tippe service distccd start?

Außerdem habe ich erfahren, dass Fedora 17 möglicherweise servicezu systemd/ weiterleitet systemctl. Selbst wenn das der Fall ist, finde ich distccdin immer noch keine zugehörigen Dateien /etc/systemd/{system,user}.

Antwort1

/etc/systemdist für benutzerdefinierte Dienste. Der Standardspeicherort für systemdefinierte Dienste ist /lib/systemd/system/. Sie können systemdefinierte Dienste in überschreiben /etc/systemd.

Weitere Informationen zu systemd finden Sie imFedora-Wiki-Seite für systemdoder schauen Sie sich diesystemd-Dokumentation

Antwort2

Soweit ich weiß, serviceist dafür ein Init-Skript erforderlich /etc/init.d.

Möglicherweise ist distccd nicht mit einem Init-Skript ausgestattet. Versuchen Sie Folgendes, um den Dienst als Daemon zu starten:

distccd --daemon

Wenn das funktioniert, können Sie unter Ihr eigenes Skript erstellen, /etc/init.d/distccddas den obigen Befehl auslöst. Anschließend können Sie es mit wie einen Systemdienst behandeln service distccd start. Verwenden Sie es /etc/init.d/skeletonals Vorlage.

verwandte Informationen