systemd がデフォルトの再起動方法として kexec を使用するようにする

systemd がデフォルトの再起動方法として kexec を使用するようにする

systemd を搭載した Debian Stretch では、systemd コマンドを使用して再起動できますsystemctl kexec

また、systemd はすべての再起動を処理します。

# ls -l $(which reboot)
lrwxrwxrwx 1 root root 14 Jul  5  2017 /sbin/reboot -> /bin/systemctl

完全なハードウェアの再初期化を伴う再起動には時間がかかり、さらに重要なことに、暗号パスフレーズを入力する必要があるため、再起動には常に kexec を使用することをお勧めします。

デフォルトのメカニズムとして kexec を使用するように systemd を構成することは可能ですかreboot? (置き換える以外に/sbin/reboot)

答え1

kexecの再起動を置き換える

  1. systemdの再起動ターゲットを削除または名前変更する

    rm /lib/systemd/system/reboot.target

  2. 再起動ターゲットとしてkexecターゲットへのリンクを作成する

    ln -sf /etc/systemd/system/kexec.target /lib/systemd/system/reboot.target

  3. リロード

    systemctlデーモンリロード

  4. systemdとkexecでは、再起動の方法は1つしかサポートされていないことに注意してください。

    システムctl kexec

「reboot」コマンドによる再起動は、SysV init wrapper 経由で実行される kexec-load スクリプトが正しい方法で呼び出されない限り kexec カーネルをロードしないため機能しません。kdump の使用は機能しなくなる可能性があります。参照:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785714

すべてをキャンセル

  1. systemdを再インストールする

    apt install --systemdを再インストールする

関連情報