在 ubuntu 上的 servicefabricsdkcommon 包中自动接受 EULA

在 ubuntu 上的 servicefabricsdkcommon 包中自动接受 EULA

我需要在 Linux Ubuntu VM 上自动安装 Azure Service Fabric SDK。安装需要您接受 EULA。我该如何自动接受 EULA,以免出现此提示?

脚步:

sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/servicefabric/ trusty main" > /etc/apt/sources.list.d/servicefabric.list'

sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893

sudo apt-get update

sudo apt-get install servicefabricsdkcommon

最后一个命令需要接受 EULA。

在另一篇文章中,你似乎可以使用类似以下内容:

DEBIAN_FRONTEND=noninteractive apt-get install -y servicefabricsdkcommon

编辑:

正如 @Elder_Geek 在评论中提到的那样,似乎有一个错误已被修复以解决这个问题并且它可以工作,但是,当我尝试将其 Docker 化时它不起作用。dbconf-set-selections 在 Docker 中的行为是否不同,从而可能会阻止它工作?

Dockerfile

FROM microsoft/vsts-agent:ubuntu-16.04-docker-1.11.2-standard
WORKDIR /vsts
RUN sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/servicefabric/ trusty main" > /etc/apt/sources.list.d/servicefabric.list' \
&& sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 \
&& sudo apt-get update -y \
&& sudo apt install debconf-utils
RUN echo "servicefabricsdkcommon servicefabricsdkcommon/accepted-eula-v1 select true" | sudo debconf-set-selections \
&& sudo apt-get -qq -y install servicefabricsdkcommon \
&& sudo /opt/microsoft/sdk/servicefabric/common/sdkcommonsetup.sh 

如果我在 docker 主机上运行该命令,EULA 仍然会出现,它可以正常工作。

相关内容