Назад | Перейти на главную страницу

Пусть 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)

Заменить перезагрузку на 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