/etc/init.d に記載されていないサービスがなぜ開始されるのですか?

/etc/init.d に記載されていないサービスがなぜ開始されるのですか?

Fedora 17 および をクリーンインストールした後distcc-server、 を実行しservice distccd start、正常に完了しました。

man servicedistccdは、単にでスクリプトを実行することを示しています/etc/init.d/distccdが、そのファイルは存在しません。 chkconfigは についても知らないようですがdistccd、 に関連ファイルが存在しないことからそれが確認できます/etc/rc[0-6].dするdistcc デーモンの実行オプションを含むファイルは存在しますが、リンクする/etc/sysconfig/distccdものが見つからないようです。service/etc/sysconfig

service入力すると、どのように動作するかがわかりますかservice distccd start?

また、Fedora 17 は/serviceにリダイレクトする可能性があることを知りました。その場合でも、に関連するファイルは見つかりません。systemdsystemctldistccd/etc/systemd/{system,user}

答え1

/etc/systemdはユーザー定義サービス用です。システム定義サービスのデフォルトの場所は です/lib/systemd/system/。 内のシステム定義サービスを上書きできます/etc/systemd

systemdの詳細については、fedora systemd の wiki ページまたは、systemd ドキュメント

答え2

私の知る限り、serviceは init スクリプトが存在することを前提としています/etc/init.d

distccd には init スクリプトがパッケージ化されていない可能性があります。サービスをデーモンとして起動するには、以下を試してください。

distccd --daemon

それが機能する場合は、上記のコマンドを実行する独自のスクリプトを で作成し/etc/init.d/distccd、 を使用してそれをシステム サービスのように扱うことができますservice distccd start/etc/init.d/skeletonテンプレートとして使用します。

関連情報