💭

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

2023/10/09に公開

systemd

ファイル

  • system起動時に最初に読み込まれるUnit
    /etc/systemd/system/default.target
    • default.targetをSysVinitでのランレベルに相当するUnitへのシンボリックリンクとして作成することで、期待するサービス群を起動できる

      ランレベル ターゲット
      0 Poweroff.target
      1 rescue.target
      2,3,4 multi-user.target
      5 graphical.target
      6 reboot.target
    • これらのターゲットは「/lib/systemd/system」配下に格納

    • runlevel0.target〜runlevel6.targetでも指定可能

    • 各ランレベルに応じたスクリプトは「/etc/rc[0-6].d」

    • スクリプトのファイル名(実際はシンボリックリンク)

      • 1文字目:S(Start: サービスを起動)、K(Kill: サービスを停止)
      • 数字:実行優先順位。若番のものが先に実行
      • サービス名
      • e.g. K01bluetooth

SysVinit

  • initプログラムを採用しているシステム
    • path
      /etc/inittab

コマンド

systemctl

サブコマンド 用途
get-default 次回起動時のターゲットを表示
halt システムを停止してhalt状態にする(カーネルにシステムの停止を行うように命令)
set-default 次回起動時のターゲットを設定
default デフォルトのrunleveloに変更

runlevel

ランレベルを調べることができるコマンド

マルチユーザからシングルユーザへの変更

init s
telinit 1
telinit s

SysVinitの設定ファイル「/etc/inittab」の変更を反映させるコマンド

init q
init Q
telinit q
teliniit Q

rescueモードから通常モードに移行

  • Ctrl-Dを入力する
  • systemctl reboot コマンドを実行する
  • systemctl default コマンドを実行する

shutdown

オプション 概要
-h システムの停止
-r システム再起動
-k ログインユーザにメッセージを送る
-c シャットダウンをキャンセル
  • 時間の指定
    • HH:MM HH時MM分に実行
    • +M M分後に実行
    • now 今すぐに実行

wall

  • ログイン中の全ユーザーにメッセージを送信する「wall(Write ALL)」

ACPI(Advanced Configuration and Power Interface)

  • コンピュータの電源管理や構成に関する規格
  • 電源周りの参考サイトqiita

Discussion