ubuntu 自动对sudo apt-get -y install oracle-java7-installer上的许可协议执行yes [已关闭]

cigdeys3  于 2023-05-06  发布在  Oracle
关注(0)|答案(5)|浏览(191)

**关闭。**这个问题是not about programming or software development。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
5天前关闭。
社区在5天前审查了是否重新打开此问题,并将其关闭:
原始关闭原因未解决
Improve this question
Ubuntu的Oracle Java软件包以交互方式询问许可协议。所以我每次都要说‘好’,然后说‘是’,但我想让它自动化。我是这样做的:

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

有没有一种简单的方法可以在不使用expect的情况下自动执行协议流程?

iklwldmw

iklwldmw1#

试试这个:

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上也会有帮助

k2fxgqgv

k2fxgqgv2#

如果你正在使用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"

注意:debconf中的value参数必须设置为"true",包括引号,根据Roy Wood的注解。

anauzrmj

anauzrmj3#

ppa:linuxupset/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

以下是我为基于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
2o7dmzc5

2o7dmzc54#

在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容器中工作得很好。

xzlaal3s

xzlaal3s5#

就像其他答案一样,以下内容适用于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

相关问题