我想下载并安装Java在我们的一个虚拟机使用Ansible。我尝试了yum
,这是成功的,但作为要求的一部分,我被要求做另一种方式。
为此,我尝试了
- name: "[version-update] Download Java "
shell:
args:
chdir: /opt/xcal/apps
要执行的命令是
wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
但是,当尝试这个编辑器显示错误。
我尝试用双引号包围这个命令,只是粘贴它,但两者都抛出错误。
我理解
"Cookie: oraclelicense=accept-securebackup-cookie"
这是引起问题的部分。是否有办法在命令中也包含这个?
使用shell
模块的一种工作方法是
---
- hosts: test
become: false
gather_facts: false
tasks:
- name: Download Java
shell:
cmd: 'curl -x "localhost:3128" -O https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm'
chdir: "/home/{{ ansible_user }}"
warn: false
register: result
- name: Show result
debug:
msg: "{{ result }}"
另一个与get_url
模块。
- name: Download Java
get_url:
url: "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"
dest: "/home/{{ ansible_user }}"
use_proxy: true
register: result
environment:
HTTP_PROXY: "localhost:3128"
HTTPS_PROXY: "localhost:3128"
- name: Show result
debug:
msg: "{{ result }}"