内核升级时自动重启

内核升级时自动重启

我正在使用无人值守升级,并且希望在内核升级时自动重新启动。

那可能吗?

答案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)
}

...稍微重写一下,您就会拥有“自动重启”的基础。

不过我相信你需要为重新启动设定更多的标准;如果它决定在你正在处理一些(可能很重要的)未保存的工作时执行它的操作,你可能会不高兴。

相关内容