kjt*_*aka 50 ubuntu automation apt
Ubuntu的Oracle Java包交互式地询问许可协议.所以每次我都要说"OK"然后"是",但我想自动化它.我这样做是:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java7-installer
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以在不使用期望的情况下自动化协议流程?
Max*_*xym 105
试试这个:
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
Run Code Online (Sandbox Code Playgroud)
在我的debian 7.1上运行第3和第4个命令有帮助,所以我认为同样可以帮助ubuntu
sch*_*rom 36
如果你使用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"
Run Code Online (Sandbox Code Playgroud)
注意:根据Roy Wood的评论,value
参数in debconf
必须设置为"true"
包括引号.
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
Run Code Online (Sandbox Code Playgroud)
这是我针对基于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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23457 次 |
最近记录: |