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"] | Утилита управления пакетами, используемая системой, для запроса информации о пакетах. С версии 2.8 это список и может поддерживать несколько утилит управления пакетами на одной системе. Параметры «portage» и «pkg» были добавлены в версии 2.8. |
| strategy строка добавлен в 2.8 ansible.builtin |
| Этот параметр управляет тем, как модуль запрашивает утилиты управления пакетами на системе. first означает, что он вернёт только информацию для первой поддерживаемой утилиты. all вернёт информацию для всех поддерживаемых и доступных утилит управления пакетами на системе. |
Примеры
- name: Gather the package facts
package_facts:
manager: auto
- name: Print the 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", ... } ], ... } } # Пример 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/package_facts_module.html