この簡単なガイドでは、ランレベルとは何か、Linuxにはランレベルがいくつあるか、Linuxオペレーティングシステムでランレベルを確認する方法について説明します。
ランレベルとは何ですか?
ランレベル は、Unixベースのオペレーティングシステムが実行されるモードの1つです。つまり、実行レベルは initの状態です。 そして、どのシステムサービスが動作しているかを定義するシステム全体。
Linuxカーネルには、0から6までの7つのランレベルがあります。システムは、一度に1つのランレベルでのみ起動できます。
デフォルトでは、システムはランレベル3またはランレベル5のいずれかで起動します。ランレベル3はCLIで、5はGUIです。デフォルトのランレベルは、 /etc/inittab
で指定されます ほとんどのLinuxオペレーティングシステムのファイル。
ランレベルを使用すると、Xが実行されているか、ネットワークが動作しているかなどを簡単に確認できます。
1。 Linuxのランレベルを確認する(SysV init)
SysV init
で配布されたLinuxディストリビューションのランレベルのリストは次のとおりです。 デフォルトのサービスマネージャーとして。
- 0 -停止
- 1 -シングルユーザーテキストモード
- 2 -使用されていません(ユーザー定義可能)
- 3 -フルマルチユーザーテキストモード
- 4 -使用されていません(ユーザー定義可能)
- 5 -完全なマルチユーザーグラフィカルモード(Xベースのログイン画面付き)
- 6 -再起動
それでは、ランレベルを見つける方法を見てみましょう。
システムのランレベルを確認するには、ターミナルを開いて次のコマンドを実行します。
$ runlevel
出力例:
N 3
上記の出力では、文字 'N'
システムの起動以降、ランレベルが変更されていないことを示します。そして、 3
は現在のランレベルです。つまり、システムはCLIモードです。
init
の新しいバージョン 、 RUNLEVEL
と呼ばれる環境変数を使用して、現在および以前のランレベルの詳細を見つけることができます およびPREVLEVEL
。
たとえば、現在のランレベルを確認するには、次のコマンドを実行する必要があります。
$ echo $RUNLEVEL
以前のランレベルを見つけるには:
$ echo $PREVLEVEL
ランレベルを別のものに変更したい場合は、/etc/inittab
を編集してください。 ファイル:
$ sudo vi /etc/inittab
エントリinitdefault
を見つけて編集します 選択したランレベルに。たとえば、ランレベルをマルチユーザーグラフィカルモード(ランレベル5)に設定するには、次のように変更します。
id:5:initdefault:
ファイルを保存して閉じます。システムを再起動して、新しいランレベルにログインします。
ランレベルの詳細については、manページを参照してください。
$ man runlevel
2。 Linux(Systemd)のランレベルを確認する
Linuxシステムの最近のバージョン(RHEL 7、Ubuntu 16.04 LTS以降)では、ランレベルの概念が systemd
に置き換えられました。 ターゲット。
これがSystemd
のリストです Systemd
で配布されたLinuxディストリビューションのターゲット デフォルトのサービスマネージャーとして。
- runlevel0.target、poweroff.target-停止
- runlevel1.target、rescue.target-シングルユーザーテキストモード
- runlevel2.target、multi-user.target-未使用(ユーザー定義可能)
- runlevel3.target、multi-user.target-完全なマルチユーザーテキストモード
- runlevel4.target、multi-user.target-未使用(ユーザー定義可能)
- runlevel5.target、graphical.target-完全なマルチユーザーグラフィカルモード(Xベースのログイン画面を使用)
- runlevel6.target、reboot.target-再起動
Systemd
を使用しているLinuxシステムの場合 デフォルトのサービスマネージャーとして、次のコマンドを使用して現在のターゲットを見つけることができます:
$ systemctl get-default
出力例:
graphical.target
上記の出力でわかるように、現在のランレベル(つまりターゲット)は5
です。 、これはグラフィカルモードです。
現在ロードされているすべてのターゲットを表示するには、次を実行します:
$ systemctl list-units --type target
出力例:
UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System bluetooth.target loaded active active Bluetooth cryptsetup.target loaded active active Local Encrypted Volumes getty.target loaded active active Login Prompts graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems multi-user.target loaded active active Multi-User System network-online.target loaded active active Network is Online network-pre.target loaded active active Network (Pre) network.target loaded active active Network nfs-client.target loaded active active NFS client services nss-lookup.target loaded active active Host and Network Name Lookups nss-user-lookup.target loaded active active User and Group Name Lookups paths.target loaded active active Paths remote-fs-pre.target loaded active active Remote File Systems (Pre) remote-fs.target loaded active active Remote File Systems rpc_pipefs.target loaded active active rpc_pipefs.target rpcbind.target loaded active active RPC Port Mapper slices.target loaded active active Slices sockets.target loaded active active Sockets sound.target loaded active active Sound Card swap.target loaded active active Swap sysinit.target loaded active active System Initialization timers.target loaded active active Timers veritysetup.target loaded active active Local Verity Integrity Protected Volumes LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 26 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.

上記のコマンドは、アクティブなターゲットのみを表示します。
ロードされたすべてのターゲット(アクティブおよび非アクティブ)を表示するには、次を実行します:
$ systemctl list-units --type target --all
RunLevelを他の何かに変更したい場合、例えば runlevel3.target
、以下のように設定してください:
$ sudo systemctl set-default runlevel3.target
現在のセッションでのみ別のターゲットユニットに変更するには、次のコマンドを実行します。
$ sudo systemctl isolate runlevel3.target
詳細については、Systemd
を参照してください。 マニュアルページ。
$ man systemd
「who」コマンドを使用してLinuxランレベルを確認する
以下のコメントセクションで提案されている読者の1人として、who
を使用してランレベルを見つけることもできます。 以下のようなコマンド:
$ who -r
出力例:
run-level 5 2021-06-09 10:21
これがお役に立てば幸いです。
関連記事:
- Linuxで起動時にスタートアップサービスを一覧表示する方法