如何使用 ansible yum 模块一次安装多个组?

How to install multiple groups in one shot with ansible yum module?

Some plugins like, the yum and apt modules can take lists directly to their options, this is more optimal than looping over the task. See each action’s documentation for details, for now here is an example:

- name: optimal yum
  yum:
    name: "{{list_of_packages}}"
    state: present

- name: non optimal yum, not only slower but might cause issues with interdependencies
  yum:
    name: "{{item}}"
    state: present
  loop: "{{list_of_packages}}"

我正在尝试这样做

- name: Install libvirt
  yum:
    name: '"@Virtualization Hypervisor" "@Virtualization Client"'

但是它没有说 @Virtualization Hypervisor @Virtualization Client 不可用。删除环绕的单引号或所有引号也不起作用。如何解决这个问题?

目前我使用的是非最佳解决方案,但我想一次安装两个组。

- name: Install libvirt
  yum:
    name: "{{ item }}"
    state: present
  loop:
    - "@Virtualization Hypervisor"
    - "@Virtualization Client"

在您的示例中,您没有通过 "a list of packages"。你是 传递单个字符串:

- name: Install libvirt
  yum:
    name: '"@Virtualization Hypervisor" "@Virtualization Client"'

列表看起来像这样:

- name: Install libvirt
  yum:
    name: 
      - "@Virtualization Hypervisor" 
      - "@Virtualization Client"

如果你愿意,以下是相同的:

- name: Install libvirt
  yum:
    name: ["@Virtualization Hypervisor", "@Virtualization Client"]