runlevelコマンドでLinuxのランレベルを確認する方法|systemdのtargetとの対応もコマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドP-T, システム管理コマンド > runlevelコマンドでLinuxのランレベルを確認する方法|systemdのtargetとの対応もコマンド
「runlevelって何? いつ使うの?」
「CentOS7以降でrunlevelが使えないのはなぜ?」
runlevel コマンドは、現在のランレベルと変更前のランレベルを確認するコマンドです。
SysVinit時代のLinux(CentOS6以前)での標準的なコマンドですが、
現代のsystemd環境でも互換コマンドとして利用できます。

この記事では、runlevel コマンドの使い方と、
systemd環境での対応コマンド(systemctl get-default)まで解説します。
【この記事でわかること】
・runlevelで現在のランレベルと変更前のランレベルを確認できる
・CentOS7以降はsystemd管理。runlevel互換コマンドはあるが非推奨
・systemdではtarget(multi-user.target等)がランレベルに相当する

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

ランレベルとは?SysVinitの動作モード

ランレベルとは、Linuxの動作モードを示す数値です。
SysVinit(CentOS6以前の起動システム)では、数値によって起動するサービスの組み合わせが変わります。

ランレベル 0:シャットダウン(電源オフ)
ランレベル 1:シングルユーザーモード(メンテナンス用)
ランレベル 2:マルチユーザーモード(NFSなし)
ランレベル 3:マルチユーザーモード(テキストベース・NFS有効)
ランレベル 4:未定義(ユーザー定義可能)
ランレベル 5:グラフィカルモード(X Window System)
ランレベル 6:再起動

サーバーでは通常ランレベル3(テキスト、マルチユーザー)で運用します。

runlevelコマンドの基本的な使い方

1. 現在のランレベルを確認する

# 現在のランレベルを確認する # runlevel N 3 # 出力の意味: # N = 変更前のランレベル(N = まだ変更されていない) # 3 = 現在のランレベル

出力は「変更前のランレベル 現在のランレベル」の2つの値が表示されます。
一度も変更されていない場合は「N(None)」が表示されます。

2. ランレベルが変更された後の表示

# ランレベルを5から3に変更した後の確認 # runlevel 5 3 # 5 = 変更前、3 = 現在

CentOS7/RHEL7以降:systemdでのランレベル相当

CentOS7 / RHEL7 以降では SysVinit から systemd に変わったため、
runlevel の概念は systemd target に置き換えられています。

ランレベル(SysVinit) systemd target 説明
0 poweroff.target シャットダウン
1 rescue.target シングルユーザーモード
3 multi-user.target マルチユーザー(テキスト)
5 graphical.target グラフィカルモード
6 reboot.target 再起動

# デフォルトのtarget(ランレベル相当)を確認する $ systemctl get-default multi-user.target # 現在のtargetを確認する $ systemctl list-units --type=target --state=active

トラブルシュート

runlevelが「unknown」と表示される場合

systemd環境ではランレベルがネイティブでサポートされていないため、
runlevel コマンドが互換レイヤーで動作します。
正確な情報は systemctl get-default で確認してください。

本記事のまとめ

やりたいこと コマンド
現在のランレベルを確認する(SysVinit) runlevel
デフォルトtargetを確認する(systemd) systemctl get-default
デフォルトtargetを変更する(systemd) sudo systemctl set-default multi-user.target
現在アクティブなtargetを確認する systemctl list-units --type=target --state=active

Linuxの起動システムを正しく理解して、サーバー管理を本格的に学びたいですか?

SysVinitからsystemdへの移行を理解すると、現代のLinuxサーバー管理が格段にスムーズになります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。