LinuCレベル1 101試験の例題と解説

1.01.3ブートプロセスとsystemd

LinuCレベル1 101試験の出題範囲から、「1.01.3 ブートプロセスとsystemd」についての例題を解いてみます。
ターゲットの切り替え方法について学んでおきましょう。

Linucレベル1 101試験 出題範囲


例題

systemdを採用しているシステムで、起動している状態のままシングルユーザモードに変更したい。
適切なコマンドを一つ選択してください。

  1. # systemctl set-default rescue.target
  2. # systemctl set-default single.target
  3. # systemctl default single.target
  4. # systemctl isolate rescue.target

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「4. # systemctl isolate rescue.target」です。

シングルユーザモードとは、コンソールから管理者ユーザ(rootユーザ)のみがログインでき、操作することのできる動作モードのことです。
従来のSysVinit/Upstartのランレベルでは、ランレベル1がシングルユーザモードでした。systemdでは、従来のSysVinit/Upstartのランレベルに相当するターゲットがデフォルトで存在します。

SysVランレベルとsystemdターゲットの比較は以下の通りです。

ランレベルターゲットユニット詳細
0poweroff.targetシステムをシャットダウンし電源を切ります
1rescue.targetレスキューモード(シングルユーザモード)にシステムを切り替えます
2~4multi-user.target非グラフィカルなインタフェースで複数ユーザがシステムを利用できる状態に切り替えます
5graphical.targetグラフィカルなインタフェースで複数ユーザがシステムを利用できる状態に切り替えます
6reboot.targetシステムをシャットダウンして再起動します

つまり、systemdではrescue.targetがシングルユーザモードに相当します。

また、systemdを使用しシステムを管理する際は、systemctlコマンドを使用します。systemctlコマンドを使ってターゲットを管理するには以下のサブコマンドを使用します。

get-defaultデフォルトターゲットの確認
set-defaultデフォルトターゲットの変更
default現在のターゲットをデフォルトターゲットに変更
isolate指定したターゲットが依存するユニット以外すべて停止し、指定したターゲットを起動

今回の例題では、「起動している状態のままシングルユーザモードに変更したい」とあるため、「isolate」サブコマンドを使用し、シングルユーザモードに相当するrescue.targetを指定します。
これにより、rescueターゲットに依存するユニット以外全て停止し、rescueターゲットが起動されます。

よって、「4. # systemctl isolate rescue.target」が正解となります。

それでは、例題の選択肢について解説します。

1.# systemctl set-default rescue.target
不正解です。

set-defaultは、デフォルトターゲットを変更するためのサブコマンドです。このコマンドを実行した場合、次回起動時のターゲットがrescue.targetとなります。
シングルユーザモードで起動するには、一度再起動を行わなければならないため不正解となります。

2. # systemctl set-default single.target
不正解です。

選択肢1で解説した通り、set-defaultは、デフォルトターゲットを変更するためのサブコマンドです。また、システムで定義されているターゲットにsingle.targetというターゲットは存在しません。
よって不正解となります。

3.# systemctl default single.target
不正解です。

defaultは、現在のターゲットをデフォルトターゲットに変更するサブコマンドです。
引数は指定せず、以下のように実行します。

# systemctl default

書式から異なるため不正解となります。

4. # systemctl isolate rescue.target
正解です。

今回選択肢にはありませんでしたが、シングルユーザモード(レスキューモード)への切り替えは以下のコマンドでも行うことができます。

# systemctl rescue

シングルユーザモード(レスキューモード)への切り替えは、システムでトラブルが起きた時など、障害対応を行う場合に使用することがあります。必要に応じて利用できるようにしておきましょう。


例題作成者

株式会社デージーネット OSS研究室 橋本知里

ページトップへ