【发布时间】:2020-05-18 20:29:34
【问题描述】:
我有一个可将文件复制到远程服务器上的位置的 ansible playbook。它工作正常。在这种情况下,该文件是一个 rpm。这是它的工作方式:
---
- hosts: my_host
tasks:
- name: mkdir /tmp/RPMS
file: path=/tmp/RPMS state=directory
- name: copy RPMs to /tmp/RPMS
copy:
src: "{{ item }}"
dest: /tmp/RPMS
mode: 0755
with_items:
[any_rpm-x86_64.rpm]
register: rpms_copied
现在,在远程服务器上成功完成文件后,我需要启动一些新的逻辑来安装 /tmp/RPMS 中的 rpm。我已经运行了许多不同版本的下面(所以这段代码被添加到上面的块中):
- name: install rpm from file
yum:
name: /tmp/RPMS/any_rpm-x86_64.rpm
state: present
become: true
我不知道是格式不正确,还是不是这样。谁能建议我如何使用现有剧本中的新几行安装目录 /tmp/RPMS 中的 rpm?
谢谢。
【问题讨论】:
-
我有两个反对票,没有任何 cmet,有人可以告诉我他们的问题是什么,我可以采取行动纠正
-
您遇到的错误是什么?注意1:您粘贴的任务的yaml无效,但我猜这是复制/粘贴错误...注意2:不鼓励按照您在下面的自我解决方案中提出的通过shell安装。它不是幂等的。使用 yum 或 package 模块是可行的方法,并且应该按照建议的方式工作,前提是您的任务 yaml 格式正确。