在使用 systemd 的 debianstretch 上,可以使用 systemd 指令重新啟動systemctl kexec
。
此外,systemd 處理所有重新啟動:
# ls -l $(which reboot)
lrwxrwxrwx 1 root root 14 Jul 5 2017 /sbin/reboot -> /bin/systemctl
由於完全硬體重新初始化的重新啟動需要很長時間,更重要的是,需要輸入加密密碼,因此我寧願始終使用 kexec 進行重新啟動。
是否可以使用 kexec 作為預設reboot
機制來配置 systemd? (除了更換/sbin/reboot
)
答案1
將重新啟動替換為 kexec
刪除或重新命名 systemd 重啟目標
rm /lib/systemd/system/reboot.target
建立指向 kexec 目標的連結作為重新引導目標
ln -sf /etc/systemd/system/kexec.target /lib/systemd/system/reboot.target
重新載入
systemctl 守護程式重新載入
請注意,systemd 和 kexec 僅支援一種重新啟動方式,即使用
systemctl kexec
透過「reboot」命令重新啟動不起作用,因為除非以正確的方式調用,否則透過 SysV init 包裝器運行的 kexec-load 腳本不會載入 kexec 核心。使用 kdump 可能不再運作。參考:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785714
取消一切
重新安裝系統
apt install --重新安裝 systemd