我正在使用无人值守升级,并且希望在内核升级时自动重新启动。
那可能吗?
答案1
您可以设置在无人值守升级完成/安装需要重启的程序后自动重启。其中包括安装新内核。
相关配置变量:
// Automatically reboot *WITHOUT CONFIRMATION* if
// the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";
// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
将您喜欢的设置保存在文件中/etc/apt/apt.conf.d/52unattended-upgrades-local(这样你就不必修改50无人值守升级由包提供)。
您可以通过以下方式查看明确设置的配置值
apt-config dump unattended-upgrade
不幸的是,您无法列出所有当前值。 https://github.com/mvo5/unattended-upgrades/issues/245
您可以在以下位置查看更多文档(最新版本)https://github.com/mvo5/unattended-upgrades
不幸的是,并非所有支持的选项都在此处解释: https://github.com/mvo5/unattended-upgrades/issues/246 https://github.com/mvo5/unattended-upgrades/issues/318
答案2
假设至少对以下情况有效:
$ 源 /etc/os-release && echo $NAME $VERSION Ubuntu 20.04.4 LTS(焦点窝)
不管怎样,这个(Bash)函数显示是否有软件包等待重新启动:
重新请求() { (文件=/var/run/reboot-required.pkgs; 如果 [ !-f $file ]; 那么 echo "无需重新启动,$file 不存在。"; 别的 echo -e "\n*** $file ***" 猫“$文件”; fi) }
...稍微重写一下,您就会拥有“自动重启”的基础。
不过我相信你需要为重新启动设定更多的标准;如果它决定在你正在处理一些(可能很重要的)未保存的工作时执行它的操作,你可能会不高兴。