【初級者向け】ランレベル/ブートターゲット変更、システムの再起動とシャットダウン ~ ランレベルとブートターゲット ~


今回の内容

・Linuxの動作状態を表すランレベルについて
・ブートターゲットについて

覚えておきたいキーワード

・ランレベル
・ブートターゲット

ランレベルとは

「ランレベル」というのは、Linuxの動作状態を表すものです。
Linuxの動作モード、つまり「今はどんな状態で動いているか」を表します。
それぞれの動作モードにより、起動されるプログラムが違っています。
下記にSysVinitにおけるランラベルを示します。

0 システムのシャットダウン(または停止)
1 シングルユーザモード
2 ネットワークを使用しないマルチユーザモード
3 ネットワークを使用したマルチユーザモード
5 ネットワークとX Window Systemを使用したマルチユーザモード
6 システムのリブート(再起動)
Sまたはs シングルユーザモード

シングルユーザモードは、管理者であるrootユーザだけが使用できるモードです。
システムメンテナンスなどの際に利用されることが多くなっています。
ランレベル「2」・「3」・「5」は、マルチユーザモードです。
「2」のモードでは、ネットワークを使用する機能が起動しなくなっています。
「3」では、「2」で使用することのできなかったネットワークの機能が使えるようになっています。
「2」も「3」もコマンドラインでの操作となります。
「5」は、グラフィックのインターフェースが使用できるようになっています。
クライアント端末として使用する場合はこのモードにすることが多くなっています。

現在のランレベルはrunlevelコマンドを実行することで確認できます。
runlevelコマンドを実行後は、「1つ前のランレベル、現在のランレベル」の順で2つ情報が確認できます。
例1)現在のランレベルの確認
以下の例では1つ前のランレベルが「N」、そして現在のランレベルが「5」であることが分かります。
「N」はシステム起動後にランレベルが一度も変更されたことがない場合に表示されます。

例2)ランレベルの変更
以下の例ではランレベルが「3」から「5」に変更している例です。
initコマンドまたは、telinitコマンドで変更できます。

runlevelのではコマンドの実行結果から、
1つ前のランレベルが「3」、現在のランレベルが「5」である事が分かります。

ブートターゲットとは

最近の主要なディストリビューションでは、サービスの管理はSysVinitに代わり、systemdが採用されています。
systemdは、Unitによってシステムを管理しています。systemdでは、様々な処理をそれぞれUnitとして定義して、実行時には各Unitを指定して実行します。
ブートターゲットは、例えば、graphical.targetにおいて、マルチユーザ環境で起動するmulti-user.targetの起動プロセスやランラベルにかかわらず必要なサービスを起動するbasic.targetサービスなどの複数のunitをグループにしたunitであり、SysVinitのランレベルに相当します。主なターゲットは以下のとおりです。

0        poweroff.target(ランレベル0に相当)
1        rescue.target(ランレベル1に相当)
2,3,4  multi-user.target(ランレベル3に相当)
5        graphical.target(ランレベル5に相当)
6        reboot.target(ランレベル6に相当)

ランレベルの確認と変更方法
例1)現在のランレベルの確認

例2)ランレベルの変更

graphical.targetから、multi-user.targetに変更する例です。
グラフィックのインターフェースではなく、コマンドラインでの操作となります。

まとめ

LPICの試験では、デフォルトのsystemdブートターゲットを別のターゲットに変更する方法が問われます。
ブートターゲットを確認するコマンドと合わせて、ブートターゲットを変更する方法もしっかり学んでおきましょう。

それでは今回はこのあたりで。

  • このエントリーをはてなブックマークに追加

PAGE TOP