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

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

我在 Azure Cloud 中创建了一个 Ubuntu 12.04.5 LTS。我通过 Jenkins powershell 构建创建它:1. 在 Azure 中创建虚拟机 2. 执行一些远程 SSH 命令(其中包括 apt-get dist-upgrade)3. 从虚拟机创建虚拟映像

但是构建在第 2 步挂起了。在第 2 步中,除其他命令外,我执行:

apt-get update
apt-get -q -y dist-upgrade

-y 的目的是避免交互问题。如果我从 shell 手动运行apt-get -q -y dist-upgrade它工作正常,直到两次卡住:

第一个互动问题在此处输入图片描述

第二个互动问题在此处输入图片描述

参数 -y 应该可以避免这种情况。如你所见,有问题的包是瓦根特,即 Microsoft Azure Linux 代理,当我完成第 1 步时,它会默认安装

我的问题是:我该如何避免这些互动问题?(要么回答是,要么回答否,要么避免升级该软件包或其他东西)

答案1

也许您还可以尝试:

DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes

答案2

似乎与配置文件冲突在 apt-get(dkpg)中很常见,我通过使用以下方法解决了该问题:

apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade

这些选项的含义是:

  • --force-confdef:当可以时要求 dpkg 单独决定,否则提示...
  • --force-confold:不要修改当前配置文件...

相关内容