Le package Oracle Java pour Ubuntu pose de manière interactive des questions sur le contrat de licence. Je dois donc dire «OK», puis «oui» à chaque fois, mais j'aimerais l'automatiser. Ce que je fais est ceci:
Sudo add-apt-repository -y ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get -y install Oracle-Java7-installer
Existe-t-il un moyen simple d'automatiser le processus d'accord sans utiliser expect?
essayez ceci:
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
exécuter les 3ème et 4ème commandes sur mon debian 7.1 aide, je pense donc que la même chose peut aider sur Ubuntu
Si vous utilisez Ansible pour l'automatisation, vous voudrez peut-être mettre ceci dans votre playbook:
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"
Remarque: L'argument value
dans debconf
doit être défini sur "true"
, y compris les guillemets, conformément à comment de Roy Wood .
ppa: linuxuprising/Java && Oracle-Java11-installer
Pour ceux qui utilisent le programme d'installation de Linux Uprising Linux 11 et qui tombent sur ça, voir ceux-ci:
Au lieu des commandes de la réponse (comme indiqué sur leur site), vous voulez ceci:
echo Oracle-Java11-installer shared/accepted-Oracle-license-v1-2 select true | \
Sudo /usr/bin/debconf-set-selections
Voici ma configuration Docker pour un conteneur basé sur Ubuntu 18.04:
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
Si vous utilisez Chef pour provisionner vos serveurs avec Oracle Java, vous pouvez effectuer les opérations suivantes dans une ressource bash execute.
Travailler la réponse de maxym ci-dessus
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