如何避免apt-get -y dist-upgrade与waagent交互?

我在Azure云中创建了一个Ubuntu 12.04.5 LTS。我是通过Jenkins powershell构建来创建它的,具体步骤如下: 1. 在Azure中创建虚拟机 2. 执行一些远程SSH命令(其中包括apt-get dist-upgrade) 3. 从虚拟机创建一个虚拟镜像
但是在第二步中构建卡住了。在第二步中,除了其他命令外,我执行了以下命令:
apt-get update
apt-get -q -y dist-upgrade

-y 的目的是避免互动式问题。如果我从 shell 手动运行 apt-get -q -y dist-upgrade,它可以正常工作,直到两次卡住: 第一个互动式问题enter image description here 第二个互动式问题enter image description here 参数 -y 应该避免出现这种情况。如您所见,引起问题的软件包是 waagent,它是微软 Azure Linux 代理程序,并且在完成第一步骤后默认安装。
我的问题是:我应该如何避免这些互动式问题?(无论是回答“是”、“否”、避免升级此软件包还是其他方式)
2个回答

也许你还可以尝试一下:
DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes

似乎在apt-get(dpkg)中与配置文件的冲突相当常见。 我通过使用以下方法解决了这个问题:
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade

选项的含义如下:
- --force-confdef:让 dpkg 自行决定,如果可以的话就自动处理,否则会提示... - --force-confold:不修改当前的配置文件...

希望投反对票的人能说明问题所在;对我来说没问题! - TJ Biddle