助け合いフォーラム

LPIC

LPIC Lv1-101(Ver5.0)
問題ID : 3311
問題を開く
「/etc/inittab」を設定ファイルとして使用しないinitプログラムは次のうちどれか。(2つ選択)

正解

Upstart

systemd

解説

「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「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プログラムですので、誤りです。

・systeminit
・SysStart
存在しないinitプログラムです。

上に戻る

Upstartでの「/etc/inittab」の効果

公開日 2023/07/16

この問題の解説に
「「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」と「systemd」です。」
と記載されています。

一方、問題ID:3410の参考情報に、以下の記載があります。
「ただし、UpstartはSysVinitと互換性があるため、「/etc/inittab」ファイルを新規に作成し、先述のSysVinitの場合と同じように記述することでデフォルトのランレベルを設定することもできます。その場合、「/etc/inittab」ファイルのランレベルが優先されます。」

上記の両方とも正しいとすると、Upstartが利用できる「/etc/inittab」の
設定項目はデフォルトのランレベルのみで、他の設定は利用できないという
ことになるかと思ったのですが、この理解で正しいでしょうか。

この問題(3311)の解説は、Upstartが「/etc/inittab」の全部の設定を
利用できるわけではないので、Upstartが「/etc/inittab」を利用しない
としているとの理解です。

ご存じの方がおられたら、教えて下さい。
宜しくお願いします。

2023/07/18 22:17

あまり詳しくはわかりませんが、/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」~」と理解していいのではないかと思います。


コメント

k kz5835

2023/07/18 22:37

ojixii様 ご回答、有難うございます。おかげさまで、理解できました。

この返信に対して
コメントを記入できます

2023/07/19 11:08

既に回答もらっていますが、少し付け加えますね。

Upstartが利用できる「/etc/inittab」の設定項目はデフォルトのランレベルのみで、他の設定は利用できない
そのはずです~
Upstartはイベント駆動型、反対にSysVinitは静的で、両者の構造は根本的に異なっているのですが、
SysVinitからUpstartへ無理なく移行してもらうためにランレベルに関してだけ互換性があります。
(ちなみに、Upstartの基本的な設定ファイルは「/etc/init/」にある、ジョブごとに個別の定義ファイル.confです)

問題と解説の意図についても、

Upstartが「/etc/inittab」の全部の設定を利用できるわけではないので、
Upstartが「/etc/inittab」を利用しないとしている
これで合っていると思います~


コメント

k kz5835

2023/07/19 12:30

m7jgc 貴重な情報をご提供頂き、有難うございます。大変参考になりました。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?