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
設定確認
サーバを再起動することで、設定が反映されるのでサーバを再起動して、設定を確認してください。
コメント
綴りを間違えてますよ。”defautl”
ランレベル5(GUI マルチユーザモード) systemctl set-defautl graphical.target
ご指摘ありがとうございます。
綴りの間違いを修正させていただきました。