ランレベルとターゲット
-CentOS- | -Ubuntu-

init

initはプログラムを自動起動させたりする仕組みのこと。
そして、システムが起動制御できるプログラムのことをサービスという。
initではランレベルと呼ばれるシステムの起動状態を表す値がある。

ランレベルの数値と対応する状態

ランレベルは0〜6の数値で管理され、Red Hat系とDebian系とで別れる。

ランレベル Red Hat系 Debian系
0 停止 停止
1 シングルユーザモード シングルユーザモード
2 未使用/ユーザ定義可能なレベル マルチユーザモード
3 マルチユーザモード(CUI) マルチユーザモード
4 未使用/ユーザ定義可能なレベル マルチユーザモード
5 マルチユーザモード(GUI) マルチユーザモード
6 再起動 再起動

デフォルトのランレベルを確認する

デフォルトのランレベルは/etc/inittabファイルに書かれている。

id:デフォルトのランレベル:initdefault:

しかし、新しいディストリビューションではsystemdを使用している。
systemdはランレベルの代わりに「ターゲット」となる。

$ cat /etc/inittab
# inittab is no longer used when using systemd.
# systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:
.
.
.

 

ランレベルを切り替える

「init」コマンド

書式
init ランレベル
ランレベル 切り替えるランレベル0〜6

「telinit」コマンド

GUI環境で起動する。

書式
telinit [オプション] ランレベル
主なオプション 説明
q initの設定ファイルを再読み込みする。
ランレベル 切り替えるランレベル0〜6

 

ランレベルの確認

「runlevel」コマンド

GUI環境で起動する。

書式
runlevel

runlevelコマンドの実行

$ runlevel
N 5 -1-
  1. 1つ前と現在のランレベルが表示される。
    [N (Nothing)]:ランレベルは起動中のみ記録されるので操作しなかったときに表示される。

 

サービスの制御スクリプト

initを利用している環境では起動スクリプトならびにシンボリックリンクが配置されている。

サービスの制御スクリプト

  • Sで始まる:そのランレベルで起動させるスクリプト
  • Kで始まる:そのランレベルで起動させないスクリプト

スクリプトでサービスを制御する

書式
/etc/init.d/ スクリプト名 引数
主な引数 用途
start 起動
stop 停止
restart 再起動
status 状態の確認

「service」コマンド

Red Hat系でSysV init環境におけるサービスを制御する。

書式
service サービス名 引数
主な引数 用途
start 起動
stop 停止
restart 再起動
status 状態の確認

「chkconfig」コマンド

Red Hat系でSysV init環境におけるサービスの自動起動を制御する。

書式
chkconfig [オプション] サービス名 ON|OFF
主なオプション 説明
--list サービスの自動起動の状態を一覧表示する。
サービス名 制御対象となるサービス。
ON ランレベル2〜5で自動起動する。
OFF ランレベル2〜5で自動起動しない。

 

参照元情報

LinuCレベル1 合格教本
LinuCレベル1 合格教本