Ubuntu的Oracle Java软件包会交互式地询问许可协议。因此,每次我都需要点击“OK”和“yes”,但我希望能够自动化这个过程。我的解决方法如下:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java7-installer
有没有一种简单的方法来自动化协议过程而不使用expect?
Ubuntu的Oracle Java软件包会交互式地询问许可协议。因此,每次我都需要点击“OK”和“yes”,但我希望能够自动化这个过程。我的解决方法如下:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java7-installer
有没有一种简单的方法来自动化协议过程而不使用expect?
试一下这个:
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上也可能有同样的帮助。
v1-3
,未来它肯定会再次增加。 - quickshiftintasks:
- 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
参数必须设置为"true"
,包括引号,如Roy Wood的comment所述。- name: accept oracle license debconf: name='oracle-java8-installer' question='shared/accepted-oracle-license-v1-1' value='true' vtype='select'
的Oracle Java 8安装程序。 - DoRivardppa:linuxuprising/java && oracle-java11-installer
如果有人使用Linux Uprising的Java 11安装程序,并且遇到此问题,请参阅以下链接:
与其在答案中列出的命令不同,您需要使用以下命令:
echo oracle-java11-installer shared/accepted-oracle-license-v1-2 select true | \
sudo /usr/bin/debconf-set-selections
这是我针对基于Ubuntu 18.04的容器的Docker设置:
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
linuxuprising/java
对我没有用,我使用了这个修复方法:
echo "deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/linuxuprising-java.list && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73C3DB2A
- Khaled AbuShqear如果您使用的是 Java 11,则可以使用以下代码:
add-apt-repository ppa:linuxuprising/java
echo debconf shared/accepted-oracle-license-v1-2 select true | debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-2 seen true | debconf-set-selections
apt-get update && apt-get install -y oracle-java11-installer
这在 Docker 容器中完美运行。
就像其他答案一样,以下内容适用于JDK 17
accepted-oracle-license-v1-3 - 具体而言
echo oracle-java17-installer shared/accepted-oracle-license-v1-3 select true | sudo /usr/bin/debconf-set-selections