Auto yes для лицензионного соглашения на sudo apt-get -y install oracle-java7-installer

46

Oracle Java-пакет для Ubuntu интерактивно запрашивает Лицензионное соглашение. Поэтому я должен сказать "ОК", а затем "да" каждый раз, но я бы хотел автоматизировать его. Что я делаю:

sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java7-installer 

Есть ли простой способ автоматизировать процесс соглашения без использования?

  • 0
    Поскольку вы спрашиваете об использовании диспетчера пакетов Ubuntu / Debian , ваш вопрос лучше подходит для Ask Ubuntu или Unix & Linux Stack Exchange .
  • 0
    Сделаю. Спасибо за предложение.
Показать ещё 1 комментарий
Теги:
automation
apt

4 ответа

96
Лучший ответ

попробуйте это:

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

  • 0
    Работает нормально. Большое спасибо!
  • 0
    @KJTanaka: пожалуйста! пожалуйста, подумайте о том, чтобы принять его в качестве решения;) или попросить более подробную информацию, если это не решит всю вашу проблему. Спасибо
Показать ещё 2 комментария
35

Если вы используете 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 Рой Вуд.

  • 1
    Прекрасный! Спасибо!
  • 3
    он также работает с oracle-java8-installer с использованием - name: accept oracle license debconf: name='oracle-java8-installer' question='shared/accepted-oracle-license-v1-1' value='true' vtype='select'
Показать ещё 2 комментария
0

ppa: linuxuprising/java && oracle-java11-installer

Для тех, кто использует установщик Linux Uprising Java 11, которые сталкиваются с этим, смотрите эти:

  1. https://launchpad.net/~linuxuprising/+archive/ubuntu/java
  2. 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
0

Если вы используете 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню