下面的 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
。)