我们确实有需要定期重新启动的机器。不幸的是,BIOS 部分/重启过程的启动顺序非常慢(大约 10 分钟)。
因此,我正在寻找一种无需“硬件部分”即可实际重新启动的方法。
回到 SCO Unix 时代,一位同事向我展示了如何使用运行级别来实现这一目标。我不记得它是如何完成的以及它是否仍然适用于 Ubuntu...
我发现最接近的是使用执行程序。但它似乎没有正确地关闭 systemd。
有没有办法使用 systemd 启动重新启动序列并重新启动而无需物理重置?
答案1
systemctl kexec
执行所有关闭步骤systemctl reboot
,但通过重新启动代替硬件重新启动kexec
。
您确实需要进行systemd-boot
设置,以便它知道哪个内核以及如何加载,但考虑到您的类似服务器的用例,这似乎并非不合理。
答案2
简短的回答,不。
更长的答案....
虽然将系统置于单用户模式然后返回默认。目标将重新启动大多数服务,但它不会在修补周期后替换内核 - 这是我重新启动主机的唯一原因。此外,虽然可以自动进入单用户模式,但我怀疑如果没有手动干预,可能无法摆脱该状态。
检查您的硬件文档,看看是否有办法改变这种行为。