
/etc/rc0.d
私は、、、、 ...、/etc/rc1.d
ディレクトリ/etc/rc2.d
を持つUbuntuを実行しています/etc/rc6.d
。
マイコンピュータのサンプルファイル:
directory example symlinks in the dir
------------------------------------------
/etc/rc1.d: K76dovecot, K77ntp
/etc/rc2.d: S23ntp, S24dovecot
/etc/rc3.d: S23ntp, S24dovecot
/etc/rc4.d: S23ntp, S24dovecot
/etc/rc5.d: S23ntp, S24dovecot
質問:
- 複数の「rc」ディレクトリの目的は何ですか?
- Ubuntuはなぜ
dovecot
およびを除くntp
すべてのディレクトリにコピーをインストールしますか?rc0.d
rc6.d
- 上記のように複数回指定すると、実際に何回実行されますか?
- 上記から、起動中にどのコマンドが
dovecot
実行されるのかを知ることができますかntp
? ntp
起動前にUbuntuに常に実行するように指示する正しい方法は何ですか?dovecot
答え1
他の人が指摘したように、答えは次のとおりです。ランレベルこれは基本的にオペレーティングシステムの動作モードです。 Linuxでは通常、次のようになります。
ID Name Description
0 Halt Shuts down the system.
1 Single-user Mode Mode for administrative tasks.
2 Multi-user Mode Does not configure network interfaces and
does not export networks services.
3 Multi-user Mode with Networking Starts the system normally.
4 Not used/User-definable For special purposes.
5 Start the system normally with
with GUI As runlevel 3 + display manager.
6 Reboot Reboots the system.
したがって、各rcN
ディレクトリには、その実行レベルで実行する必要があるスクリプトへのシンボリックリンクが含まれています。実際のスクリプトはすべて通常次の/etc/init.d
ディレクトリにあります。
$ ls -l /etc/rc5.d/S22cron
lrwxrwxrwx 1 root root 14 Jan 14 2013 /etc/rc5.d/S22cron -> ../init.d/cron
シンボリックリンクの命名
名前がanで始まるシンボリックリンクは対応するランS
レベルで始まり、名前がanで始まるシンボリックリンクはK
終了します。再起動ランレベルのすべてのリンクrc6.d
はK
。再起動するには、すべて停止しなければならず、何も開始しないでください。
最初の文字の後の数字は、リンカスクリプトが実行される順序を示します。低い数字が高い数字の前に実行されます。したがって、特定の例ではS23ntp
実行されます(この場合は実行)。今後 S24dovecot
。
答え2
- これらおよびareは、ほとんどの* NIXシステム(ベースのシステムを除く)
runlevel
で使用されるSystem Vスタイルのブートです。systemd
カーネル/ユーザーが起動したら、runlevel
何を実行するかを決定し、対応するrunlevel
。これは、runlevel
別のアセンブリから始めることができることを意味します。停止して再開するためのランレベルもありますが、始めに重点を置いているので今は無視します。 - 起動時に 1 つだけが実行されるため、一部のプログラムは同じ順序で、異なる順序で異なるか、同じパラメータを使用して異なる
runlevel
s で起動/停止する必要があります (すべてのオペレーティング システムですべてのランレベルが同じではありません)。runlevel
しかし、Ubuntuはランレベル3-5を2からコピーしたので同じです。 - No.s
runlevel
は起動時または変更時に一度だけ実行されますrunlevel
。 ntp
スクリプトは、dovecot
ランレベル1ではなくランレベル2-5で最初に実行する必要があります。スクリプト名のシリアル番号()は実行順序を表します。したがって、それはすべて使用するランレベルによって異なります。S23ntp
- ディストリビューションによって異なりますが、Ubuntuの特別な場合は、ランレベル1と2にスクリプトを追加できます。
詳しくはウィキペディアUbuntuランレベルに関する記事
答え3
1) 複数の rcX.d ディレクトリは、「X」の実行レベルで起動または停止するサービスを指定します。
2)rc0.dは、終了状態の実行レベル0に使用されます。 rc6.d は再起動に使用されます。残りはさまざまな実行レベル(2 - 5)のためのものです。 Sは開始を表し、Kは停止を表す。これは本質的に /etc/rc.d の元のスクリプトへのリンクです。 S / Kの後の数字はサービスの開始/終了優先順位です。
3)はい、複数回指定すると、起動/停止スクリプトが複数回実行されます。しかし、誰もそうしたくありません。
4) 優先順位番号を確認すると、ntp サービスが最初に開始され、次に dovecot が開始されます。
5)これが4番の項目です。