init.dスクリプトはなぜ背中にあるのですか?

init.dスクリプトはなぜ背中にあるのですか?

/etc私はこれがシステムプロファイルのためであることを読んで聞きました。さまざまなプログラムを起動/停止/再起動するスクリプトが一般的ではないか、または/etcそのような理由について誰かが説明/直感を与えることができますか?/var/usr

答え1

/etc最初は(歴史的および起動中...)ディスクが大きくなるまでではなく(最初のマウントされたファイルシステム)の一部でした。持っている//usr/var一時的なデータであり、これらのスクリプトは一時的ではありません。

それほど単純ではありませんが、それが始まったことで、ディレクトリ全体のレイアウトを再設計する理由はありません。

答え2

起動スクリプトは実際にはシステム構成の重要な部分です。

ブートプロセスが15〜30年前よりはるかに少なくカスタマイズされ、ほとんどのブート構成が自動化されているにもかかわらず、ブート順序を決定するすべての管理オプションはまだ存在します/etc

これは、システム構成を維持およびバックアップする非常に集中化された方法を表します。ほとんどのシステムでは、バックアップだけで/etcシステム全体を簡単に再インストールできます。必要なプログラムを完全に再インストールしてからバックアップを復元します/etc

答え3

M. DickeyとM. Pelletierはどちらもこの質問の前提に同意します。しかし、前提が間違っています。

「システムプロファイルに適用」を読んだ場合、読んだ/etc内容は完全な写真を提供しません。名前を見てください。 「ちょっと待って」です。人々は台所の流しを除くすべてをそこに保管しました。

  • /etc/rc以前は、すべてを始めるためにプログラムを実行していました(そして一部のシステムではまだそうです)。
  • 最初のユーザープロセス用のプログラムイメージファイルが/etc/init存在しました(たとえば、XENIXでは始める前にアイデアがありました)。
  • /etc/profile、、、/etc/zprofile残りはすべて確かにスクリプトです。
  • OpenBSD/etc/netstartはFreeBSDの/etc/ipfw.rules
  • FreeBSD/etc/rc.suspend/etc/rc.resume;実際に/etc/rc.sendmail、、、/etc/rc.bsdextendedおよび/etc/rc.firewall

/etc同様に、「さまざまなプログラムを起動/停止/再起動するスクリプトは通常その場に/varあるか、または同様のもの」という内容を読んだ場合、/usr読んだ他の内容が全体の絵を描くことはありません。

  • FreeBSD / PC-BSDルールは、/usr/local/etc/rc.d/非オペレーティングシステムスクリプト用のrcディレクトリを提供することです。rcさまざまなもののスクリプトは以下ではありません/etc
  • daemontoolsファミリーの人々がいくつかのサービス管理項目をおよび同様の場所に置くのを見ることができ/var/svます/var/service。 (たとえば、私のnoshツールセットは/var/sv/etc/service-bundles/usr/usr
  • システム化されたオペレーティングシステムルールはに何かがあり/etc/systemd、に何かがあり/run/systemd、そして/usr/lib/systemd該当しない理由で記録されていない場合でも)に何かがあります/usr/local/lib/systemd。同様に、ほとんどの「サービスの開始/停止に関するトピック」は、以下では/usrなく以下にあります/etc

答え4

Digital UNIXは、スクリプトを賢く/sbin/init.dディレクトリに配置します。そしてHP-UX、ロゼッタストーンによると

関連情報