如何在yum存储库中的ansible所有包中安装或升级

时间:2016-06-20 12:04:54

标签: repository ansible ansible-playbook yum

我想从我的仓库安装所有包,我不能重复这个命令:

yum repo-pkgs reponame install

在Ansible剧本中。

我发现的所有内容:示例如何安装一个包或已知包的列表:

- name: upgrade all packages
  yum: name=* state=latest

不起作用:编写安装的所有软件包 - 但它不对

1 个答案:

答案 0 :(得分:2)

正如documentation建议的那样,以下任务将更新所有已安装的软件包,而不是安装可用软件包:

- name: upgrade all packages
  yum: name=* state=latest

要实现您的目标,首先需要注册第一个命令返回的软件包列表:

- name: gather list of packages available
  shell: yum repo-pkgs reponame list
  register: packages

- name: install/upgrade all packages
  yum: name={{packages.stdout_lines|join(',')}} state=latest

免责声明:未经测试,因此可能需要调整。