助け合いフォーラム
正解
Upstart
systemd
解説
最近のシステムではinitプログラムとして、Upstartやsystemdが採用されることが多くなっています。
したがって正解は
・Upstart
・systemd
です。
「/etc/inittab」を設定ファイルとして使用する従来のinitプログラムは「SysVinit」と呼ばれるものです。
Upstartやsystemdは、従来のSysVinitと比べてシステム起動時の初期化作業が高速化されています。
Upstartは「/etc/event.d/rc-default」ファイルの「telinit 2」の部分を編集することでデフォルトのランレベルを設定できます。
ただし、UpstartはSysVinitと互換性があるため、「/etc/inittab」ファイルを新規に作成し、先述のSysVinitの場合と同じように記述することでデフォルトのランレベルを設定することもできます。その場合、「/etc/inittab」ファイルのランレベルが優先されます。
systemdでは、「/lib/systemd/system/runlevel[0-6].target」ファイル([0-6]部分はランレベルを指定)のシンボリックリンクを「/etc/systemd/system/default.target」として作成することでデフォルトのランレベルを設定できます。
例)デフォルトのランレベルを3に設定する場合
# ln -s /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
その他の選択肢については以下のとおりです。
・SysVinit
従来の「/etc/inittab」を設定ファイルとして使用するinitプログラムですので、誤りです。
・acpid
ACPIイベントを監視し、電源管理や構成変更に関するイベントを処理するデーモンですので、誤りです。
・SysStart
存在しないinitプログラムです。
Upstartでの「/etc/inittab」の効果
この問題の解説に
「「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」と「systemd」です。」
と記載されています。
一方、問題ID:3410の参考情報に、以下の記載があります。
「ただし、UpstartはSysVinitと互換性があるため、「/etc/inittab」ファイルを新規に作成し、先述のSysVinitの場合と同じように記述することでデフォルトのランレベルを設定することもできます。その場合、「/etc/inittab」ファイルのランレベルが優先されます。」
上記の両方とも正しいとすると、Upstartが利用できる「/etc/inittab」の
設定項目はデフォルトのランレベルのみで、他の設定は利用できないという
ことになるかと思ったのですが、この理解で正しいでしょうか。
この問題(3311)の解説は、Upstartが「/etc/inittab」の全部の設定を
利用できるわけではないので、Upstartが「/etc/inittab」を利用しない
としているとの理解です。
ご存じの方がおられたら、教えて下さい。
宜しくお願いします。
あまり詳しくはわかりませんが、/etc/inittab は Upstart でも使用可能だけど非推奨 というスタンスのようです。
以下 RHEL6 のマニュアルですが参考に。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/migration_planning_guide/ch04s02s03
なので、Upstart が inittab の機能のどこまで使えるか使えないか というよりは、基本的には使わないもの。
ということから「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」~」と理解していいのではないかと思います。
コメント
既に回答もらっていますが、少し付け加えますね。
Upstartが利用できる「/etc/inittab」の設定項目はデフォルトのランレベルのみで、他の設定は利用できない
そのはずです~
Upstartはイベント駆動型、反対にSysVinitは静的で、両者の構造は根本的に異なっているのですが、
SysVinitからUpstartへ無理なく移行してもらうためにランレベルに関してだけ互換性があります。
(ちなみに、Upstartの基本的な設定ファイルは「/etc/init/」にある、ジョブごとに個別の定義ファイル.confです)
問題と解説の意図についても、
Upstartが「/etc/inittab」の全部の設定を利用できるわけではないので、
Upstartが「/etc/inittab」を利用しないとしている
これで合っていると思います~
コメント
この投稿に対して返信しませんか?
k kz5835
2023/07/18 22:37
ojixii様 ご回答、有難うございます。おかげさまで、理解できました。