Debian 初期化ランレベル

Debian 初期化ランレベル

過去には、ほとんどのLinuxを起動するときに、ブートロード中にランレベルを変更するために何かをしない限り、ランレベル6で起動しました。

その後、プロセスは/etc/init/rcX.d(IIRC)(ここでXは実行レベル)を探し、Sで始まるすべてのスクリプトをアルファベット順に実行します(S01xxxはS20yyyの前に実行されます)。

終了処理が完了すると、K で始まるスクリプトが辞書式逆順 IIRC として実行されます。

これで状況が変わりました。 rcX.dディレクトリは/etcに移動され、/etc/rcS.dはデフォルトの実行レベル2として追加されました。

残念ながら、私はこれまでこれらの変化に注意を払っていませんでした。現在のシステムでランレベル2の開始プロセスと終了プロセスを説明できる人はいますか?

ベストアンサー1

システムがあるランレベルから別のランレベルに切り替えられると、既存のランレベルのすべての「K」スクリプトを順番に実行し、新しいランレベルのすべての「S」スクリプトを順番に実行します。 Debian は並列起動を実装するため、ほとんどのスクリプトは同時に実行されますが(順次動作する)、各スクリプトの依存関係情報とスクリプト挿入/削除ツールを含む標準があります。CONCURRENCY=NONEに追加して並行性をオフにすることができます/etc/default/rcS

Debian の現在のバージョンでinittab各ランレベルの切り替え時に実行されるコマンドセットは次のとおりです。/etc/init.d/rc

起動時にシステムは実行レベルにあると見なされますS。の「S」スクリプトは /etc/rcS.d順番に実行されます/etc/init.d/rc

完了すると、システムはカーネルコマンドラインで指定したランレベルまたはデフォルトのランレベル(Xがインストールされていない場合は2)に入ります。

「K」スクリプトがないため、/etc/rcS.d何も起こりません。ランレベル「S」は一般システム初期化のためのものです。ただし、すべての「S」スクリプトは/etc/rc2.d順次実行されます。

これが完了すると、正式に実行レベル2になります。コマンドは、実行するように構成されたアクションを/etc/init.d/rc返し、initビルドし、実行レベルを変更するように指示するのを待ちます。getty

閉じると信号がに送信されますinit。その後、システムは実行レベル2から6(再起動)または0(終了)に移動します。したがって、すべての「K」スクリプトは/etc/rc2.d順次実行されます。その後、または(存在する場合) /etc/rc6.dのすべての "S"スクリプトが順番に実行されます。/etc/rc0.d

その後、ランレベル0または6(注/etc/init.d/rc- スクリプトは明示的に0または6をテストします)なので、すぐにランレベルで切り替えられ、すべての「K」スクリプトが実行されます。

0または6の最後の「K」スクリプトは、システムを一時停止/電源オフまたは再起動するコマンドです。

おすすめ記事