package_facts – информация о пакетах в виде фактов
Новое в версии 2.5.
Обзор
- Возвращение информации об установленных пакетах в виде фактов
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- Для поддержки «portage» требуется утилита
qlist, которая входит в состав «app-portage/portage-utils». - Для систем на основе Debian пакет
python-aptдолжен быть установлен на целевых хостах.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| manager список |
["auto"] | Установленный на системе менеджер пакетов, используемый для запроса информации о пакетах. Начиная с версии 2.8, это список, и он может поддерживать несколько менеджеров пакетов на одной системе. Опции «portage» и «pkg» были добавлены в версии 2.8. |
| strategy - добавлено в 2.8 |
| Этот параметр управляет тем, как модуль запрашивает информацию о менеджерах пакетов в системе. first означает, что он вернёт только информацию для первого поддерживаемого менеджера пакетов. all вернёт информацию для всех поддерживаемых и доступных менеджеров пакетов в системе. |
Примеры
- name: Gather the rpm package facts
package_facts:
manager: auto
- name: Print the rpm package facts
debug:
var: ansible_facts.packages
- name: Check whether a package called foobar is installed
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", ... } ], ... } } | |
| name строка | всегда | Имя пакета. | |
| source строка | всегда | Источник информации о пакете. | |
| version строка | всегда | Версия пакета. | |
Статус
- Интерфейс этого модуля не гарантирует обратной совместимости. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Matthew Jones (@matburt)
- Brian Coca (@bcoca)
- Adam Miller (@maxamillion)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/package_facts_module.html