mgmmyBlog

Webエンジニア👩‍💻 Railsの話がメインです。

【LPIC101】システムアーキテクチャ:ランレベル/ブートターゲットの変更①

f:id:mgmmy:20200506133556p:plain

LPICの勉強を兼ねて、Ping−tで学習したことをまとめています✍️

システムアーキテクチャ

ランレベル/ブートターゲットの変更

systemd

起動時のターゲット

  • 起動時に最初に実行されるUnitは etc/systemd/system/default.target である。
  • default.target をSysVinitでのランレベルに相当するUnitへのシンボリックリンクとして作成することで、期待するサービス群を起動することができる。
SysVinit と systemd のターゲットの対応表
ランレベル
(SysVinit)
ターゲット
(systemd)
概要
0 poweroff.target システム停止
1 / s / S rescue.target シングルユーザモード
2
3
4
multi-user.target マルチユーザモード(テキストログイン、NFSなし)
マルチユーザモード(テキストログイン)
未使用
5 graphical.target マルチユーザモード
(グラフィカルログイン)
6 reboot.target システム再起動
  • これらのターゲットは /lib/systemd/system 配下に格納されている。
  • SysVinitとの関連がわかりやすいように、runlevel0.targetrunlevel6.target までのシンボリックリンクも用意されている。
  • サーバとして動作させる場合は、ランレベル3(multi-user.target) を指定する。
    • ランレベル5でも必要なサービスを起動させることは可能だが、グラフィカルログインやデスクトップを制御するプロセスも起動させるため、サーバとして稼働するには無駄なリソースを使用してしまう。
起動モードの変更

例:次回起動モードをグラフィカルログイン(ランレベル5)に変更

# 上書きできないため、既存のシンボリックリンクを削除する。
rm -f /etc/systemd/system/dafault.target

# シンボリックリンクの作成
ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target

システムの再起動

  • reboot コマンドを実行する。

  • init 6 または telinit 6 コマンドを実行する。

  • shutdown コマンドを実行する。

    • 書式: shutdown [オプション] 時間 [メッセージ]
オプション 説明
-h システム停止
-r システム再起動
-k シャットダウンせず、ログイン中の全ユーザにメッセージを送る
-c 実行中のシャットダウンをキャンセル
時間 説明
HH:MM HH時MM分に実行
+M M分後に実行
now 今すぐ実行
# 使用例:今すぐ再起動を実行
shutdown -r now

systemctl rescue コマンド

  • 現在のランレベルをシングルユーザモードに変更することができる。
    • モード変更時にはrootユーザのパスワードを入力するまで操作ができない。
  • systemctl default コマンドまたは ^D(Ctrl+D 押下) によって通常モードに戻すことができる。
  • systemctl rescue コマンドはデフォルトのターゲットを変更しない。
    • systemctl reboot コマンドで再起動するとデフォルトのターゲットで起動する。