Автоматизировать принятие EULA в пакете servicefabricsdkcommon на Ubuntu
Мне нужно автоматически установить Azure Service Fabric SDK на виртуальную машину Linux Ubuntu. Установка требует, чтобы вы приняли 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, кажется, есть ошибка, которая была исправлена, чтобы решить эту проблему, и она работает, однако, когда я попытался Dockerize это, это не работало. ведет себя по-разному 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
Лицензионное соглашение все еще появляется, если я запускаю команду на своем хосте докера, она работает нормально.