Авто да для лицензионного соглашения на sudo apt-get -y install oracle-java7-installer
Oracle Java-пакет для Ubuntu интерактивно запрашивает Лицензионное соглашение. Поэтому я должен сказать "ОК", а затем "да" каждый раз, но я бы хотел автоматизировать его. Что я делаю:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java7-installer
Есть ли простой способ автоматизировать процесс соглашения без использования?
Ответы
Ответ 1
попробуйте это:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get -y install oracle-java7-installer
работает третья и четвертая команды на моем debian 7.1, поэтому я думаю, что то же самое может помочь и на ubuntu
Ответ 2
Если вы используете Ansible для автоматизации, вы можете поместить его в свою книгу:
tasks:
- name: add java PPA
apt_repository:
repo: "ppa:webupd8team/java"
- name: accept oracle license
debconf:
name: "oracle-java7-installer"
question: "shared/accepted-oracle-license-v1-1"
value: "true"
vtype: "select"
- name: install jdk
apt:
name: "oracle-java7-installer"
Примечание. Аргумент value
в debconf
должен быть установлен в "true"
, включая кавычки, в соответствии с comment by Рой Вуд.
Ответ 3
Если вы используете Chef для подготовки серверов Oracle Java, вы можете сделать следующее в ресурсе выполнения bash.
Отключение ответа maxym выше
bash 'java-licence-agree' do
code <<-EOH
echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections
EOH
end
Ответ 4
ppa: linuxuprising/java && oracle-java11-installer
Для тех, кто использует установщик Linux Uprising Java 11, которые сталкиваются с этим, смотрите эти:
- https://launchpad.net/~linuxuprising/+archive/ubuntu/java
- https://www.linuxuprising.com/2018/10/how-to-install-oracle-java-11-in-ubuntu.html
Вместо команд в ответе (как указано на их сайте), вы хотите это:
echo oracle-java11-installer shared/accepted-oracle-license-v1-2 select true | \
sudo /usr/bin/debconf-set-selections
Вот моя настройка Docker для контейнера на основе Ubuntu 18.04:
RUN apt-get update && apt-install -y software-properties-common && \
add-apt-repository -y ppa:linuxuprising/java && \
apt-get update && \
echo oracle-java11-installer shared/accepted-oracle-license-v1-2 select true | sudo /usr/bin/debconf-set-selections && \
apt-get install -y oracle-java11-installer && \
apt install oracle-java11-set-default