LPIC101 ランレベルについて
Linux ランレベルとは
ランレベルはそのシステムが実行するサービスのレベルを表す
Linux OSの動作するモードの種類みたいなもの
ランレベルの設定のおかげでシステムの使い方に制限を設けることができるので、使用したい状況に応じて動作モードを変更する
ランレベルの種類
0:停止
1:シングルユーザーモード
2:マルチユーザーモード(CUI)
3:マルチユーザーモード(CUI)
4:未使用
5:マルチユーザーモード(GUI)
6:再起動
CUIとGUI
CUI
テキストデータのみで表現されているUIwindowsならコマンドプロンプト、macならターミナルの画面みたいなもの
GUI
画像やアイコンなどで表現されているUIアイコン表示や何を押せばアプリが立ち上がるのか感覚的にわかりやすいPCのデスクトップ画面はGUI
各ランレベル概要
0 システム停止
シャットダウンを実行
シャットダウンとは言っても『shutdown -h now』コマンドとは違い、問答無用で電源を停止させるため占有環境でのみ実施すること
1 シングルユーザーモード
rootでのみログインできる状態、ネットワークサービスは停止している。
OSは起動したいがネットワークに繋げたくない場合に使用
2 マルチユーザーモード(CUI,NFS無し)
NFSファイル共有のないマルチユーザーモード
NFSとは?
通信規約(プロトコル)
他のPCのストレージにあるディレクトリやファイルを自分のPCで手元のファイルのように扱える
3 マルチユーザーモード(CUI)
通常のシステムの稼働状態
テキストログイン
4 未使用
5 マルチユーザーモード(GUI)
通常のシステム稼動状態
GUIログインのマルチユーザーモード
6 再起動 (シングルユーザーモード)
リブート、ランレベルを6に設定後すぐに再起動される
ランレベルの設定方法
デフォルトのランレベルは/etc/inittabに記述されている
etc/inittabはシステム起動時にinitプロセスが参照するファイル
このファイルはデフォルトのランレベルや、ランレベルごとに起動する各サービスのスクリプト実行の記述が書かれていて、システム起動時にこのファイルに定義されたデフォルトのランレベルに応じてサービスが起動する
ここで定義されるデフォルトのランレベルは3かランレベル5になる
システム停止やシステム再起動にあたるランレベル0やランレベル6はデフォルトであることはない
ランレベルの変更&確認方法
ランレベルを変更するには initまたはtelinitコマンドを使う
# 例 システムを緊急停止する場合
/sbin/init 0
# 例 システムを再起動する場合
/sbin/init 6
# 例 GUIログイン
/sbin/init 5
変更後の確認はrunlevelコマンドを使用
現在のランレベルと前のランレベルが確認できる
# 例 ランレベルの確認
/sbin/runlevel
# 実行結果
5 3
# 5: 前のランレベル 3: 現在のランレベル
デフォルトのランレベルを変更するには「 initdefault」 の行を編集する
ここで編集したランレベルは、システムを再起動した後も有効になる
# 「/etc/inittab」の中を表示して文字列「initdefault」を抽出
cat /etc/inittab | grep initdefault
# 実行結果
id:5:initdefault:
/etc/inittabファイルに記載されたランレベルにしたがって各ランレベルのサービスを起動する。例では5と記載されているので、ランレベルが5のサービスを立ち上げる