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を使用せずに契約プロセスを自動化する簡単な方法はありますか?
これを試してください:
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でも同じことが役立つと思います
自動化に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"
注:value
のdebconf
引数は、引用符を含め、"true"
に設定する必要があります。 Comment by Roy Wood .
ppa: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
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コンテナで完全に機能します。
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