CentOS7でランレベルを変更する

今回は、CentOS 7でOSのランレベルを変更する場合について記述する。

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

まずは、現在のランレベルを確認する方法から。 以下のコマンドで現在設定されている起動時のランレベルを確認出来る。

systemctl get-default

…マルチユーザと言われても、何なのかがわからない。 既存のレベルとの対比を以下のコマンドで確認する。

ls /lib/systemd/system/runlevel*target -l

lrwxrwxrwx. 1 root root 15 12月 1 15:54 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 12月 1 15:54 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 12月 1 15:54 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 12月 1 15:54 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 12月 1 15:54 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 12月 1 15:54 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 12月 1 15:54 /lib/systemd/system/runlevel6.target -> reboot.target

どうやら、以下のような対比になっているようだ。

従来のランレベル 新しいランレベル コマンドの概要
ランレベル0 poweroff.target ネットワークインタフェースの情報を表示する。
ランレベル1 rescue.target 指定したネットワーク・インターフェイスの情報を表示する。
ランレベル2 multi-user.target アドレスの種類を指定して情報を表示する。 出力出来る種類はifconfigではinet、inet6、ax25、ddp、ipx、netrom。 ipではinet、inet6。
ランレベル3 指定したインターフェイスにIPアドレスを設定する。
ランレベル4
ランレベル5 graphical.target すべてのマルチキャストパケットの受信を有効にする。
ランレベル6 reboot.target ARPの利用を有効にする。
ifconfig [インターフェイス名] broadcast [IPアドレス] ip a add broadcast [IPアドレス] ip link set dev [インターフェイス名] broadcast [MACアドレス] 指定したIPアドレスをブロードキャストアドレスとして設定する。アドレスを省略した場合、ブロードキャストの利用のみを指定したことになる。
ifconfig [インターフェイス名] del [IPアドレス/サブネットマスク] ip a del [IPアドレス] dev [インターフェイス名] 指定したIPアドレスを削除する。
ifconfig [インターフェイス名] up ip link set [インターフェイス名] up 指定したインターフェイスを有効にする。
ifconfig [インターフェイス名] down ip link set [インターフェイス名] down 指定したインターフェイスを無効にする。
ifconfig [インターフェイス名] hw [ハードウェアタイプ] [IPアドレス] ip link set dev [インターフェイス名] address [MACアドレス] 指定したインターフェイスのハードウェアクラスとアドレスを指定する。
ifconfig [インターフェイス名] io_addr [IOアドレス] - (同一機能はethtoolで提供) インターフェイスドライバのI/O開始アドレスを指定する
ifconfig [インターフェイス名] irq [割り込み番号] - (同一機能はethtoolで提供) インターフェイスドライバの割り込み番号を指定する。
ifconfig [インターフェイス名] mem_start [共有メモリ利用アドレス] - (同一機能はethtoolで提供) インターフェイスドライバの共有メモリ利用アドレスを指定する。
ifconfig [インターフェイス名] media [type] - (同一機能はethtoolで提供) インターフェイスが使用するメディアの種類を指定する。「auto(自動認識)」「10baseT」「10base2」などが指定できる。
ifconfig [インターフェイス名] mtu [転送サイズ] ip link set dev [インターフェイス名] mtu [転送サイズ] インターフェイスのMTU(Maximum Transfer Unit:Ethernetフレームの最大転送サイズ)を指定する。
ifconfig [インターフェイス名] multicast ip link set dev [インターフェイス名] multicast on (無効時:ip link set dev [インターフェイス名] multicast off) マルチキャストの利用を有効(無効)にする。
ifconfig [インターフェイス名] netmask [サブネットマスク] - (同一機能は非提供) このインターフェイスが使用するサプネットマスクを設定する。
ifconfig [インターフェイス名] pointopoint (無効時:ifconfig [インターフェイス名] -pointopoint) - (同一機能は非提供ながら、ipppd [インターフェイス名] で対応している。) 指定したIPアドレスとの間のみで通信を行う(ポイント間通信の設定)。PLIP(Parallel Line Interface Protocol)などで使用する。
ifconfig [インターフェイス名] promisc (無効時:ifconfig [インターフェイス名] -promisc) ip link set dev [インターフェイス名] promisc on (無効時:ip link set dev [インターフェイス名] promisc off) 自身向け以外のすべてのパケットの受信を有効にする。
ifconfig [インターフェイス名] txqueuelen [転送サイズ] ip link set dev [インターフェイス名] txqueuelen [転送サイズ] (無効時:ip link set dev [インターフェイス名] txqlen [転送サイズ]) パケットの送信キューのサイズを指定する。
ifconfig [インターフェイス名] tunnel [IPアドレス] ip tunnel mode sit IPv6 over IPv4トンネルのための相手先アドレスを指定する。
PartitionID = 2
(amd64 or x86)_Microsoft-Windows-Setup_neutral\ImageInstall\OSImage InstallToAvailablePartition = false
WillShowUI = OnError
(amd64 or x86)_Microsoft-Windows-Setup_neutral\ImageInstall\OSImage\InstallTo DiskID = 0
PartitionID = 2
(amd64 or x86)_Microsoft-Windows-Setup_neutral\UserData AcceptEula = true
(amd64 or x86)_Microsoft-Windows-Setup_neutral\UserData\ProductKey Key =
WillShowUI = OnError
7 oobeSystem (amd64 or x86)_Microsoft-Windows-Deployment_neutral\Reseal ForceShutdownNow = false
Mode = Audit
(amd64 or x86)_Microsoft-Windows-Shell-Setup_neutral\OOBE HideEULAPage = true

ランレベルの2から4までが「multi-user.target」で一括りにされているようだ。

2.ランレベルの変更

さて、それでは実際にランレベルを変更してみよう。 以下の様にコマンドを実行する。

systemctl set-default 新しいランレベル