読み続けている/etc
はシステム構成ファイル用です。誰かが、さまざまなプログラムを開始/停止/再起動するこれらのスクリプトが通常/etc
の代わりに /var
または/usr
または同様のもの?
早い段階で(歴史的にも、起動プロセス中も...)、/etc
は/
(最初にマウントされたファイルシステム)の一部ですが、/usr
は(ディスクが取得されるまで)大)。 /var
はtemporaryデータを保持しますが、これらのスクリプトは一時的ではありません。
それほど単純ではありませんが、それはそのように始まったものであり、ディレクトリレイアウト全体を作り直す理由はほとんどありません。
起動スクリプトは、実際にはシステム構成の重要な部分です。
起動プロセスのカスタマイズは15〜30年前よりもはるかに少なく、ほとんどの起動構成は自動化されていますが、起動シーケンスを決定する管理上の選択はすべて/etc
。
これは、システムの構成を維持およびバックアップするための非常に集中化された方法を表しています。ほとんどのシステムでは、/etc
で、システム全体を簡単に再インストールできます。必要なプログラムを使用して完全に再インストールし、/etc
バックアップ。
M. DickeyとM. Pelletierの両方が問題の構内に買収しました。しかし、前提は間違っています。
「/etc
はシステム構成ファイル用」という説明を読んだ場合、全体像を描かないものを読んだことになります。名前を見てください。 「et cetera」です。人々はキッチンシンクのすべてを一度にそこに置いてきました。
/etc/rc
は、すべてを起動するために実行されるプログラムでした(一部のシステムでは今でもそうです)。/etc/init
でした(たとえば、XENIXでは、upstartが発想される前でもありました)。/etc/profile
、/etc/zprofile
、その他すべては間違いなくスクリプトです。/etc/netstart
はプログラムです。 FreeBSDの/etc/ipfw.rules
も同様です。/etc/rc.suspend
と/etc/rc.resume
も同様です。確かに/etc/rc.sendmail
、/etc/rc.bsdextended
、/etc/rc.firewall
。同様に、「さまざまなプログラムを起動/停止/再起動するスクリプトは、通常/etc
または/var
または類似のものではなく/usr
にあります」と読んだ場合、他の何かを読んだことになりますそれはあなたのために全体像を描くわけではありません。
rc
スクリプト用に/usr/local/etc/rc.d/
ディレクトリを作成します。 rc
スクリプトは/etc
の下ではなく、あらゆる種類のものに存在します。/var/sv
、/var/service
などの場所に配置するdaemontools-familyの人々を見つけるでしょう。 (一例として、私のnoshツールセットは/var/sv
で約1000のサービスバンドルを提供します。/etc/service-bundles
に入るサービスバンドルは、/usr
がマウントされ、必要に応じて/usr
をマウントおよびチェックするサービスを含みます。)/etc/systemd
に存在するもの、/run/systemd
に存在するもの、/usr/lib/systemd
に存在するもの、および( 適用されない理由で文書化されていない場合でも ) /usr/local/lib/systemd
にあるもの。繰り返しますが、「サービスの開始/停止に関するもの」の大部分は/usr
ではなく/etc
の下にあります。Filesystem Hierarchy Standard を確認してください。これはなぜそうであるかを正確に説明しますが、興味があるかもしれない他の多くのパスに関するそのような情報も含まれています。
ファイルシステム標準は、Unixディストリビューションの開発者、パッケージ開発者、およびシステム実装者が使用するように設計されています。ただし、これは主に参照用であり、Unixファイルシステムまたはディレクトリ階層を管理する方法に関するチュートリアルではありません。
Digital UNIXは、スクリプトを/sbin/init.d
ディレクトリ。また、HP-UXの ロゼッタストーンによると 。