将 centos dnf 命令转换为 ansible

将 centos dnf 命令转换为 ansible

下面的 ansible 等效命令是什么?我搜索过,似乎找不到在 ansible 中执行此操作的方法,除非使用 shell 模块。这可能有效,但不是最好的选择。

"dnf -y copr enable konimex/neofetch"

答案1

Ansible 中没有内置任何内容来管理 Copr 存储库,因此运行该命令是可以的,但如果存储库已安装,则应通过不运行该命令来使其具有幂等性。

例如:

- name: Install copr repo konimex/neofetch
  command:
    cmd: dnf -y copr enable konimex/neofetch
    creates: /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:konimex:neofetch.repo
  when: ansible_pkg_mgr == "dnf"

因此当 repo 文件已经存在时,命令将不会再次运行,并且任务将返回ok而不是changed

(您还应该尽可能使用command而不是shell。)

相关内容