Я пытаюсь установить Java через apt-get.
Я нашел этот PPA установщиков Java , однако, когда я добавляю репозиторий, обновляю и затем запускаю команду apt-get install -y, установщик java вступает во владение, и он выскакивает до варианта конфигурации.
Я надеюсь, что смогу установить его без какого-либо вмешательства или нажатия клавиш, так как я создаю сценарии сборки и развертывания для моих экземпляров EC2, которые автоматически установят все необходимые пакеты с тегами.
Есть ли другие варианты?
Если OpenJDK / OpenJRE работает нормально для вас, я рекомендую использовать этот пакет вместо этого, как предложено @SAM. Однако для некоторых программ действительно требуется Oracle JDK / JRE. Этот ответ заключается в том, как заставить замолчать вопрос о лицензии с пакетом Oracle от PPA.
Во-первых, давайте узнаем, что заданный вопрос - это особенность пакета, созданного разработчиком.
blockquote>oracle-java7-installer (7u7-0~webupd8~4) maverick; urgency=medium * removed cookie file use or else the PPA stays disabled * request the user to accept the Oracle license before installation -- Alin Andrei <webupd8@gmail.com> Tue, 04 Sep 2012 14:18:29 +0200
Как указал @Nate в своем ответе, должна быть опция молчания. И есть. Сделайте это перед установкой:
$ 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
Это устанавливает значение ключа debconf в true, но также помечает его как видимое пользователем. Теперь этот вопрос не должен появляться!
Как я нашел это?
В источнике пакета я отследил это в файле
oracle-java7-installer.preinst
:[ 112] blockquote>Очевидно, он использует значение debconf для ключа
shared/accepted-oracle-license-v1-1
, чтобы проверить, принял ли пользователь уже лицензию. Если это так, скрипт будет корректно завершен и позволит продолжить установку, не задавая вопроса. Теперь мы должны просто сказать debconf, что вы уже принимаете Oracle License 1.1.Пожалуйста, обратитесь к man-странице
debconf-set-selections
для более подробной информации, но это пример вашей проблемы и работает аналогично для других пакетов. Какие еще ключи есть в вашей системе в базе данных debconf? Установитеdebconf-utils
и выполните$ sudo debconf-get-selections
Затем выполните grep для получения дополнительных ключей, которые необходимо установить в вашей автоматической установке. Это намного более гибко, чем использование
-y
сapt-get
, поскольку это дает вам возможность установить другие значения, отличные от настроек по умолчанию во время установки.
Я проверил следующее предложение для меня, используя docker ubuntu16.04LTS.
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:webupd8team/java && apt-get update
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 seen true" | debconf-set-selections
RUN apt-get install -y oracle-java8-installer
i386/ubuntu:18.04
контейнер.
– Adrian McCarthy
02.02.2020, 02:16
Автоматическая установка Java 6/7/8/9 с использованием PPA команды WebUpd8 команды
sudo apt-get install -y python-software-properties debconf-utils
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections
sudo apt-get install -y oracle-java8-installer
@gertvdijk не работала со мной на Ubuntu 14.04 & amp; 14,10
Это отрывок из Dockerfile, который я использовал для успешного создания образа докера на основе Debian:
( Справочник )
RUN apt-get update \
&& apt-get upgrade \
&& apt-get install -y gnupg
RUN echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
RUN echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
RUN apt-get update
RUN echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections
RUN apt-get install -y oracle-java8-installer \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& R CMD javareconf
Oracle Java больше не присутствует в репозиториях Ubuntu. http://www.omgubuntu.co.uk/2011/12/java-to-be-removed-from-ubuntu-uninstalled-from-user-machines
Вот как установить Java JDK. Как установить Oracle Java JDK 7?
Должна быть доступна опция без вывода сообщений.
Для тихой установки Java вы можете попробовать open-jdk:
sudo apt-get install -y openjdk-7-jdk
blockquote> [ 112] Также попробуйте это для получения дополнительных пакетов / расширений open-jdk ...
sudo apt-cache search openjdk
blockquote>
Ответ поддержки @gertvdijk - это описание в оригинальном сообщении в блоге о PPA webupd8.
Обновление 2: установщик теперь требует, чтобы вы приняли лицензию Oracle до начала установки. Это требуется только один раз. Если по какой-либо причине вам требуется автоматизировать установку, вы можете запустить следующую команду, чтобы автоматически принять лицензию Oracle:
blockquote>sudo echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | \ sudo /usr/bin/debconf-set-selections
echo
был бы точно тем же. – Vality 02.02.2020, 02:19