ubuntu-sudo apt-get -y install oracle-java7-ins上的许可协议自动是
适用于Ubuntu的Oracle Java软件包以交互方式询问许可协议。 因此,我每次必须说“确定”,然后说“是”,但是我想使其自动化。 我要做的是:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java7-installer
是否有一种简单的方法可以在不使用Expect的情况下自动化协议过程?
5个解决方案
105 votes
试试看:
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上运行第3和第4个命令会有所帮助,所以我认为在ubuntu上也可以这样做
Maxym answered 2020-02-01T18:27:57Z
36 votes
如果您将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"
注意:根据Roy Wood的评论,必须将debconf中的27287134017814538538参数设置为"true",包括引号。
schrom answered 2020-02-01T18:28:22Z
7 votes
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
这是我针对基于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
el n00b answered 2020-02-01T18:29:04Z
2 votes
对于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容器中完美地工作。
KireByte answered 2020-02-01T18:29:29Z
0 votes
如果使用Chef通过Oracle Java设置服务器,则可以在bash执行资源中执行以下操作。
解决上面的maxym的答案
bash 'java-licence-agree' do
code <
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
messinga answered 2020-02-01T18:29:54Z