server-memo.net

CentOS 7 ランレベルの変更方法

      2016/01/22

CentOS 7からOSのランレベル変更方法が、CentOS 6以前の「/etc/inittab」でOSのランレベル変更という方法から、「systemd」を使用したものに変更となっています。

設定方法

ランレベルの設定方法には、「systemctl」コマンドを使用する方法と、「/etc/systemd/system/default.taget」ファイルを手動で入れ替える方法がありますので、それぞれの方法を下記に記述します。

systemctlコマンドを使用

「systemctl」コマンドを使用して、各ランレベルに設定を変更する方法です。

ランレベル1 (シングルユーザモード)  sytemctl set-default rescue.target
ランレベル3(CLI マルチユーザモード) systemctl set-default multi-user.target
ランレベル5(GUI マルチユーザモード) systemctl set-defautl graphical.target
ランレベル5(GUI マルチユーザモード) systemctl set-default graphical.target

※2015.11.08 (誤)defautlの綴り間違えを修正(正)default

上記のコマンドを実行すると、「/etc/systemd/system/default.taget」ファイルが入れ替えられるので、次回サーバを起動する際にランレベルが変更されます。

実際に設定を変更した際の作業ログが下記になります。

ランレベル3へ変更

ランレベル3に変更した作業ログです。

# systemctl set-default multi-user.target
rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'

「default.target」ファイルを一旦削除してから、新たにリンクを「defautl default.target」に張っていることがわかります。

ランレベル5へ変更

ランレベル5に変更した際のログです。こちらも、ランレベル3の時と同様に「default.target」へのリンクを貼り直しているのがわかります。

# systemctl set-default graphical.target
rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target'
設定確認

設定はサーバを再起動することで反映されるので、実際にサーバを再起動して確認してみてください。

手動で設定

次に手動で設定を変更する場合ですが、すでに「systemctl」コマンドを実行した場合のログに表示されているのですが、作業の流れとしては下記の通りとなります。

/etc/systemd/system/default.target ファイルを削除
/usr/lib/systemd/system/フォルダ内のtargetへのリンクを作成

リンクを張る「target」は主に、「rescue.target」「multi-user.target」「graphical.target」になると思いますが、それ以外にも下記の「target」を使用することもできます。

使用できるtargetとランレベルの対応一覧
ランレベル0 runlevel0.target
ランレベル1 runlevel1.target
ランレベル2 runlevel2.target
ランレベル3 runlevel3.target
ランレベル4 runlevel4.target
ランレベル5 runlevel5.target
ランレベル6 runlevel6.target

この「runlevelx.target」ですが、実態ではなく下記のようなファイルへのリンクとなります。

リンク内容
lrwxrwxrwx.  1 root root    15 11月  7 15:40 runlevel0.target -> poweroff.target
lrwxrwxrwx.  1 root root    13 11月  7 15:40 runlevel1.target -> rescue.target
lrwxrwxrwx.  1 root root    17 11月  7 15:40 runlevel2.target -> multi-user.target
lrwxrwxrwx.  1 root root    17 11月  7 15:40 runlevel3.target -> multi-user.target
lrwxrwxrwx.  1 root root    17 11月  7 15:40 runlevel4.target -> multi-user.target
lrwxrwxrwx.  1 root root    16 11月  7 15:40 runlevel5.target -> graphical.target
lrwxrwxrwx.  1 root root    13 11月  7 15:40 runlevel6.target -> reboot.target

ランレベル+数字という名前なので、以前の「inittab」で設定していた数値で設定でき、イメージし易いのではないでしょうか。

作業ログ

実際の設定ログを下記に記述します。

作業は念のため「defautl default.target」ファイルのバックアップを行ってから、作業を行っています。

リンクを設定作業が完了しましたら、正しくリンクされているかの確認も合わせて行いましょう。

# cp -p /etc/systemd/system/default.target /etc/systemd/system/default.target_yyyymmdd
# rm /etc/systemd/system/default.target
rm: シンボリックリンク `/etc/systemd/system/default.target' を削除しますか? y
# ln -s /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
# ls -l /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 36 12月 10 16:40 /etc/systemd/system/default.target -> /lib/systemd/system/runlevel3.target
設定確認

サーバを再起動することで、設定が反映されるのでサーバを再起動して、設定を確認してください。

 - CentOS7