it-swarm.com.de

Automatisches Ja zu der Lizenzvereinbarung für Sudo apt-get -y installiert das Oracle-Java7-Installationsprogramm

Das Oracle Java-Paket für Ubuntu fragt interaktiv nach der Lizenzvereinbarung. Also muss ich jedes Mal 'OK' und dann 'Ja' sagen, aber ich würde es gerne automatisieren. Was ich mache ist folgendes:

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

Gibt es eine einfache Möglichkeit, den Einverständnisprozess zu automatisieren, ohne dies zu erwarten?

46
kjtanaka

probiere das aus:

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 

der 3. und 4. Befehl auf meinem Debian 7.1 zu laufen, hilft, ich denke, das gleiche kann auch auf Ubuntu helfen

101
Maxym

Wenn Sie Ansible für die Automatisierung verwenden, können Sie dies in Ihr Playbook aufnehmen:

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"

Anmerkung: Das value-Argument in debconf muss auf "true" einschließlich der Anführungszeichen laut comment von Roy Wood gesetzt werden.

35
schrom

Für Java 11 können Sie dies verwenden:

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

Dies funktioniert perfekt in einem Docker-Container.

2
KireByte

ppa: Linux/Java && Oracle-Java11-Installer

Für alle, die das Linux Uprising Java 11-Installationsprogramm verwenden, das über dieses Problem stolpert, finden Sie folgende Informationen:

  1. https://launchpad.net/~linuxuprising/+archive/ubuntu/Java
  2. https://www.linuxuprising.com/2018/10/how-to-install-Oracle-Java-11-in-ubuntu.html

Anstelle der Befehle in der Antwort (wie auf ihrer Website aufgeführt) möchten Sie Folgendes:

echo Oracle-Java11-installer shared/accepted-Oracle-license-v1-2 select true | \
Sudo /usr/bin/debconf-set-selections

Hier ist mein Docker-Setup für einen Ubuntu 18.04-basierten Container:

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

Wenn Sie Chef für die Bereitstellung Ihrer Server mit Oracle Java verwenden, können Sie Folgendes in einer Bash-Ausführungsressource ausführen.

Abarbeiten von maxyms Antwort oben

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