如何在 Ubuntu 1604 和 1804 中禁用交互式对话框?

如何在 Ubuntu 1604 和 1804 中禁用交互式对话框?

我找到了这个问题并且基本上与我的脚本有同样的问题。

但是!我没有用打包程序来运行它,而是用了一个简单的脚本:

DEBIAN_FRONTEND=noninteractive sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo dpkg --configure -aq
DEBIAN_FRONTEND=noninteractive sudo apt-get upgrade -yq --force-yes
DEBIAN_FRONTEND=noninteractive sudo apt-get dist-upgrade -yq --force-yes

...和其他东西。

该脚本在 1404 上确实有效,但在 1604 Xenial 和 1804 Bionic 上我遇到了问题,对话框提示想要在脚本中打开但无法自行继续。这是因为我无法在工作站上使用键盘输入进行响应。

此解决方案在我看来,这对于 GRUB 来说似乎风险太大,但我需要自动化,因为我无法手动更新数百台服务器。

我认为这是所有“新” 1604 和 1804 机器的问题。

有人知道这个问题的解决办法吗?

更新:我尝试接受了答案解决方案但出现了以下错误:

E: Invalid operation Dpkg::Options::=--force-confdef

答案1

您需要在环境DEBIAN_FRONTEND=noninteractive内部进行设置sudo- 而不是在环境之前:

前任。

$ sudo DEBIAN_FRONTEND=noninteractive sh -c 'echo $DEBIAN_FRONTEND'
noninteractive

然而

$ DEBIAN_FRONTEND=noninteractive sudo sh -c 'echo $DEBIAN_FRONTEND'
(empty)

相关内容