apt-get -y Upgrade 不断要求我确认保留 /tmp/grub.xC3mMKP0zx 文件,我无法跳过它

apt-get -y Upgrade 不断要求我确认保留 /tmp/grub.xC3mMKP0zx 文件,我无法跳过它

我们有自动构建 bash 脚本,在开始时执行命令

apt-get update;
apt-get upgrade -q -y -u 
  --allow-downgrades --allow-remove-essential --allow-change-held-packages 
  --allow-change-held-packages --allow-unauthenticated;

但它一直在终端中弹出窗口询问这个问题

配置文件/etc/default/grub有新版本(/tmp/grub.xC3mMKP0zx)可用,但当前安装的版本已在本地修改。

在此输入图像描述

这就是自动脚本执行挂起的原因,我无法使用 --allow* 或 -y 选项强制跳过它

我们的ubuntu是16.04

我怎样才能避免弹出窗口的出现?

请帮忙,谢谢

- 更新 -

我尝试了很多解决方案 还有这个: 使用 apt-get install 时强制非交互式“dpkg --configure”被提到与这个问题重复

apt-get -o DPkg::Options::=--force-confdef upgrade -q -y -u --force-yes

它仍然是相同的提示弹出窗口,要求选择默认选项

答案1

我发现DEBIAN_FRONTEND=非交互式此处的选项:https://superuser.com/questions/164553/automatically-answer-yes-when-using-apt-get-install

只有 DEBIAN_FRONTEND=noninteractive 和 Dpkg::Options::="--force-confdef" 的组合才能阻止这种情况选项弹出窗口打开

所以最终的命令是

apt-get update;
DEBIAN_FRONTEND=noninteractive apt-get upgrade -q -y -u  -o 
   Dpkg::Options::="--force-confdef" --allow-downgrades 
   --allow-remove-essential --allow-change-held-packages 
   --allow-change-held-packages --allow-unauthenticated;

相关内容