Ubuntu 无人值守升级

Ubuntu 无人值守升级

最初,我已将这个问题发布在 stackoverflow 上,因为这是一个错误的论坛。我在这里再次提出这个问题,并附上我收集的一些额外信息。

我正在研究在 bash 中创建一个脚本,以便作为家庭实验室自动化所有虚拟机的更新升级过程。

我是一名开发人员,但目前对 bash 不太了解:

我当前的脚本非常简单:

#!/bin/sh

apt update -y
apt upgrade -y
apt autoremove -y

在 stackoverflow 上找到一些答案并在该论坛上进行了一些研究之后,我错过了该DEBIAN_FRONTEND=noninteractive部分,因此我使用此命令进行了测试:sudo DEBIAN_FRONTEND=noninteractive apt upgrade -y但仍然没有好的结果。

我面临的问题是,我的所有虚拟机都编辑了 sh 配置文件,并包含 /etc/issue.net,因为这是基于我能收集到的所有信息而制定的标准安全做法。由于此文件已被编辑,因此在升级 ssh-server 包时,它会询问我想要做什么?默认情况下,它将采用本地编辑版本,但它要求用户PRESS ENTER 在尝试上述命令时,我仍然必须按 ENTER 键,但升级完成后,我在终端中发现NEEDRESTART DEBIAN_FRONTEND=noninteractive service

首先:环境变量更改后是否需要重新启动才能生效?由于 ssh 包并不总是有可用的升级,我可以做些什么来测试一下吗?

或者作为最后一个问题,env 变量是否不会改变用户输入的效果?我还没有在 cron tab 上测试我的脚本以查看它是否正常工作,因为事实是并不总是有可用的升级。

终端

相关内容