复制后安装rpm,并带有ansible

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复制后安装rpm,并带有ansible相关的知识,希望对你有一定的参考价值。

我有一本可笑的剧本,它将把文件复制到远程服务器上的某个位置。它工作正常。在这种情况下,文件为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?

谢谢。

答案

我在其他任何地方都找不到,这真的使我花了整整一天的时间达到这一点。对于其他苦苦挣扎的人:

- name: Install my package from a file on server
  shell: rpm -ivh /tmp/RPMS/*.rpm
  async: 1800
  poll: 0
  become_method: sudo
  become: yes
  become_user: root

以上是关于复制后安装rpm,并带有ansible的主要内容,如果未能解决你的问题,请参考以下文章

如何相对于角色复制带有ansible的文件?

mysql实验&ansible常用模块

Ansible从rpm包安装yum repo [关闭]

yum安装ansible

升级到 1.9 后,使用 sudo 复制 Ansible 文件失败

ansible学习记录之ansible安装