Spec-Zone.ru › Ansible 2.11

ansible.builtin.package_facts – Информация о пакетах в виде фактов

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать сокращённое имя модуля package_facts, даже не указывая ключевое слово collections:. Несмотря на это, рекомендуется использовать полное имя FQCN для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же самое имя модуля.

Новое в версии 2.5: от ansible.builtin

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые факты

Описание

  • Возвращает информацию об установленных пакетах в виде фактов.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • Для поддержки «portage» требуется утилита qlist, которая входит в состав «app-portage/portage-utils».
  • Для систем на базе Debian пакет python-apt должен быть установлен на целевых хостах.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
manager
список / элементы=строка
    Варианты:
  • auto ←
  • rpm
  • apt
  • portage
  • pkg
  • pacman
  • apk
Значение по умолчанию:
["auto"]
Управляющая программа пакетов, используемая системой для запроса информации о пакетах.
Начиная с версии 2.8, это список, который может поддерживать несколько менеджеров пакетов на одной системе.
Параметры «portage» и «pkg» были добавлены в версии 2.8.
Параметр «apk» был добавлен в версии 2.11.
strategy
строка
добавлен в 2.8 от ansible.builtin
    Варианты:
  • first ←
  • all
Этот параметр управляет тем, как модуль запрашивает утилиты управления пакетами на системе. first означает, что он вернёт только информацию о первом доступном менеджере пакетов. all вернёт информацию обо всех поддерживаемых и доступных менеджерах пакетов на системе.

Примечания

Примечание

  • Поддерживает check_mode.

Примеры

- name: Gather the package facts
  ansible.builtin.package_facts:
    manager: auto

- name: Print the package facts
  ansible.builtin.debug:
    var: ansible_facts.packages

- name: Check whether a package called foobar is installed
  ansible.builtin.debug:
    msg: "{{ ansible_facts.packages['foobar'] | length }} versions of foobar are installed!"
  when: "'foobar' in ansible_facts.packages"

Возвращаемые факты

Факты, возвращаемые этим модулем, добавляются/обновляются в фактах хоста hostvars и могут быть использованы по имени, как и любой другой факт хоста. Они не нуждаются в регистрации для использования.

Факт Возвращается Описание
packages
словарь / элементы=строка
при указании менеджера пакетов на уровне операционной системы или при автоматическом определении менеджера
Сопоставляет имя пакета со списком словарей с информацией о пакете.
Каждый словарь в списке соответствует одной установленной версии пакета.
Описанные ниже поля присутствуют для всех менеджеров пакетов. В зависимости от менеджера пакетов, могут быть другие поля для пакета.

Пример:
{ "packages": { "kernel": [ { "name": "kernel", "source": "rpm", "version": "3.10.0", ... }, { "name": "kernel", "source": "rpm", "version": "3.10.0", ... }, ... ], "kernel-tools": [ { "name": "kernel-tools", "source": "rpm", "version": "3.10.0", ... } ], ... } } # Пример rpm { "packages": { "kernel": [ { "arch": "x86_64", "epoch": null, "name": "kernel", "release": "514.26.2.el7", "source": "rpm", "version": "3.10.0" }, { "arch": "x86_64", "epoch": null, "name": "kernel", "release": "514.16.1.el7", "source": "rpm", "version": "3.10.0" }, { "arch": "x86_64", "epoch": null, "name": "kernel", "release": "514.10.2.el7", "source": "rpm", "version": "3.10.0" }, { "arch": "x86_64", "epoch": null, "name": "kernel", "release": "514.21.1.el7", "source": "rpm", "version": "3.10.0" }, { "arch": "x86_64", "epoch": null, "name": "kernel", "release": "693.2.2.el7", "source": "rpm", "version": "3.10.0" } ], "kernel-tools": [ { "arch": "x86_64", "epoch": null, "name": "kernel-tools", "release": "693.2.2.el7", "source": "rpm", "version": "3.10.0" } ], "kernel-tools-libs": [ { "arch": "x86_64", "epoch": null, "name": "kernel-tools-libs", "release": "693.2.2.el7", "source": "rpm", "version": "3.10.0" } ], } } # Пример deb { "packages": { "libbz2-1.0": [ { "version": "1.0.6-5", "source": "apt", "arch": "amd64", "name": "libbz2-1.0" } ], "patch": [ { "version": "2.7.1-4ubuntu1", "source": "apt", "arch": "amd64", "name": "patch" } ], } }
name
строка / элементы=строка
всегда
Имя пакета.

source
строка / элементы=строка
всегда
Источник информации о пакете.

version
строка / элементы=строка
всегда
Версия пакета.



Авторы

  • Matthew Jones (@matburt)
  • Brian Coca (@bcoca)
  • Adam Miller (@maxamillion)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/package_facts_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API