web-dev-qa-db-ja.com

Sudo apt-get -y install Oracle-Java7-installerのライセンス契約に自動でyes

OracleのUbuntu Javaパッケージは、ライセンス契約について対話形式で質問します。そのため、毎回[OK]を、次に[はい]を言う必要があります。これは:

Sudo add-apt-repository -y ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get -y install Oracle-Java7-installer 

Expectを使用せずに契約プロセスを自動化する簡単な方法はありますか?

50
kjtanaka

これを試してください:

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でも同じことが役立つと思います

105
Maxym

自動化に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"

注:valuedebconf引数は、引用符を含め、"true"に設定する必要があります。 Comment by Roy Wood .

36
schrom

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

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
7
el n00b

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コンテナで完全に機能します。

2
KireByte

Oracle JavaでサーバーをプロビジョニングするためにChefを使用している場合、bash実行リソースで以下を実行できます。

maxym's 上記の回答

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
0
messinga