【LPIC101】システムアーキテクチャ:ランレベル/ブートターゲットの変更①
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.target
〜runlevel6.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
コマンドを実行する。- ランレベルを
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
コマンドで再起動するとデフォルトのターゲットで起動する。