ubuntuの/etc/init.d
ディレクトリは、/etc/rc.d/
(少なくともarch上で)より標準的であると推測されるディレクトリと(機能的に)正確に同等ですか?起動スクリプトにrc.dではなくinit.dを正規に使用する特別な理由はありますか?
ubuntuの/etc/init.d
ディレクトリは、/etc/rc.d/
(少なくともarch上で)より標準的であると推測されるディレクトリと(機能的に)正確に同等ですか?起動スクリプトにrc.dではなくinit.dを正規に使用する特別な理由はありますか?
回答:
Ubuntuは/etc/init.d
Debianに基づいており、それがDebianが使用するものであるため、UbuntuはSysVinitスクリプトの保存に使用します。Red Hatはを使用し/etc/rc.d/init.d
ます。Slackwareが使用するものを忘れてしまいました。標準的な場所はありません。
/etc/init.d
。移行/etc/init/*.conf
は後で開始されました(8.04はまだすべてSysVスタイルで、10.04は既に移行中です)。
/etc/init.dは、SVR4の古い歴史的な場所でした。redhatが/etc/rc.d/レベルを追加した理由を忘れました。rc.dに物事を分離したいと思いますが、下位互換性のためにとにかくたくさんのシンボリックリンクを追加する必要がありました。そのため、redhatには/etc/init.dがあり、他の場所にシンボリックリンクします。
そのため、標準の場所は/etc/init.dですが、実際のディレクトリではなくシンボリックリンクである場合があります。
BSDを/etc/rc.localでコピーした実際に古いLinuxディストリビューションがいくつかありましたが、それを使用する人はほとんどいません。
Slackwareはまだ使用しています/etc/rc.d
FreeBSDの用途/etc/rc.d
と/usr/local/etc/rc.d
歴史的には、/etc/rc.d
ディレクトリツリーは、通常はrc
initシステムと呼ばれる4.4 BSDのシステム初期化の伝統に従うInitシステムを示します。最新の(Free / Open / Net)BSDシステムとSlackware Linuxはすべてこの伝統に従います。
/etc/init.d
ディレクトリツリーは、AT&T UNIX、SunOSの、システム初期化のSolarisの伝統を次のシステムV(SysVの)initシステムを示しています。これは一般にSysV Initシステムと呼ばれます。Debian自体はWheezyシリーズではまだこの伝統に従いますが、JessieシリーズではSystemDを使用する予定です。歴史的に、RedHatと派生物はSysV Initを使用していましたが、もう使用していません。
また、時間の経過とともに、両方の初期化スキームの機能がディストリビューションで採用されてきました。
実際には、少なくともCentOS 6.8サンティアゴで/etc/init.d
は、へのソフトリンクにすぎません/etc/rc.d
。
PuppyLinuxには/etc/rc.dと/etc/init.dの両方があり、どちらもシンボリックリンクではありません。シンボリックリンクとは/etc/rc.d/init.dで、レベルを/etc/init.dにリンクします (私はSlackwareベースのPuppyを探しています。Ubuntuベースやその他のフレーバーもあります) 。)それぞれにREADME.txtがあり、そのアプローチを説明しています。
それでは/etc/init.d
、initスクリプトをすばやく展開できる場所です。このスクリプトをアクティブにするための2番目のステップは、スクリプトを実行するchkconfig
ことです。実行するとchkconfig --add <yourscript>
、/etc/init.d/<yourscript>
との間でシンボリックリンクが作成されます/etc/rc.d/rcX.d/S50<script>
例えば。rcX.dのXはスクリプトのランレベル番号を表し、S50はスクリプトタイプを表します(SとKの2つのタイプがあり、Sは起動時にスクリプトを開始するようにシステムに指示し、Kはシステムにシャットダウン時にスクリプトを正常に終了します。S/ Kの後の数字は、他のスクリプトが最初にアクティブであることに依存するスクリプトがある場合に、これらが発生する順序を表します。デフォルトでは、スクリプト内でランレベルが指定されていない場合、またはランレベルコマンドを発行した場合、CentOS6はランレベル2,3,4,5のS50スクリプトとランレベル0,1,6のK50スクリプトを作成します。
/etc/rc.d
私が見た唯一のディストリビューションです... bsdで使用される可能性があります。