ansible package vs Yum module
Я новичок в Анзибль мира. Я уже создал некоторые playbook и с каждым днем все больше и больше знакомлюсь с этой технологией.
В своих PlayBook я всегда использовал команду yum для установки и управления новыми пакетами, но недавно я узнал о другой команде package, которая утверждает, что она не зависит от операционной системы.
Таким образом, мой вопрос: в чем разница между ними?
В частности, если я создам роль и сценарий, которые я знаю, что будут выполнены в Среда RHEL (где Yum-менеджер пакетов по умолчанию), какое преимущество я получаю от использования команды package, а не yum?
Заранее благодарю за помощь.
2 ответов:
Ansible
packageмодуль автоопределения вашего менеджера пакетов ОС по умолчанию (например, yum, apt) из существующих фактов.Переменная окружения факта, которая хранит, является
"ansible_pkg_mgr".Вот команда для того же.
ansible localhost -m setup | grep ansible_pkg_mgr.Если в вашей среде используется несколько ОС, то вместо указания диспетчера пакетов следует использовать
packageвместоyum or apt.
Модуль Ansible package является более общим, но похоже, что вам все еще придется обрабатывать различия в именах пакетов . Из модуля пакета
# This uses a variable as this changes per distribution. - name: remove the apache package package: name: "{{ apache }}" state: absentВ этом случае имя пакета для:
- RHEL-httpd
- Debian / Ubuntu-apache2
Поэтому переменная {{apache }} должна быть установлена правильно
Comments