Разрешить systemd использовать kexec в качестве метода перезагрузки по умолчанию

Разрешить systemd использовать kexec в качестве метода перезагрузки по умолчанию

В Debian Stretch с systemd можно выполнить перезагрузку с помощью команды systemd systemctl kexec.

Кроме того, systemd обрабатывает все перезагрузки:

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

Поскольку перезагрузка с полной повторной инициализацией оборудования занимает много времени и, что еще важнее, требует ввода криптографической парольной фразы, я бы предпочел всегда использовать kexec для перезагрузок.

Можно ли настроить systemd таким образом, чтобы использовать kexec в качестве 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 поддерживают только один способ перезагрузки — с помощью

    systemctl kexec

Перезагрузка через команду "reboot" не работает, так как скрипт kexec-load, запущенный через оболочку SysV init, не загружает ядро ​​kexec, если не вызван правильно. Использование kdump может перестать работать. Ссылка:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785714

Отменить все

  1. Переустановить systemd

    apt install --reinstall systemd

Связанный контент