Auto oui au contrat de licence sur sudo apt-get-y install oracle-java7-installer
Le package Oracle Java pour Ubuntu interroge de manière interactive le Contrat de licence. Donc, je dois dire "OK", puis " oui " à chaque fois, mais j'aimerais 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?
3 answers
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 la 3ème et la 4ème commande sur mon debian 7.1 aide, donc je pense que la même chose peut également aider sur ubuntu
Si vous utilisez Ansible pour l'automatisation vous pouvez 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: Le value
argument debconf
doit être définie sur "true"
, y compris les citations, comme par commentaire par Roy de Bois.
Si vous utilisez Chef pour provisionner vos serveurs avec Oracle Java, vous pouvez effectuer les opérations suivantes dans une ressource d'exécution bash.
Travailler hors maxym de réponse 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