package

Пакет

Ansible Galaxy Статус сборки Последний тег Чат в Gitter

Роль для управления пакетами на различных операционных системах.

Эта роль поддерживает apt, yum, dnf, brew, zypper, pacman и portage. Не стесняйтесь отправлять запрос на изменение или добавление вашего любимого менеджера пакетов!

Внимание:

  • Эта роль учитывает различия в названиях между менеджерами пакетов, но не между дистрибутивами, использующими один и тот же менеджер пакетов.
  • Покрытие тестами довольно небольшое, поэтому, пожалуйста, сообщайте об ошибках!

Требования

  • Хосты должны быть подготовлены для использования ansible (иметь python и т. д.)
  • Привилегии root, например become: yes

Переменные роли

Переменная Описание Значение по умолчанию
package_list Список пакетов (см. детализовано!) []
package_list_host Список пакетов (см. детализовано!) []
package_list_group Список пакетов (см. детализовано!) []
package_state Состояние по умолчанию для пакетов 'present'
package_update_cache Обновить кеш? yes
package_cache_valid_time Как долго кеш пакетов остается действительным? (в секундах) 3600

Детали package_list

package_list, package_list_host и package_list_group объединяются при управлении пакетами. Вы можете использовать списки хостов и групп для указания пакетов для каждого хоста или группы.

Список пакетов позволяет определить, какие пакеты должны управляться. Каждый элемент в списке может иметь следующие атрибуты:

Переменная Описание Обязательно
name Название пакета да
state Состояние пакета нет
apt Название пакета для apt нет
apt_ignore Игнорировать пакет для apt нет
apt_install_recommends Устанавливать рекомендованные зависимости для apt нет
apk Название пакета для apk нет
apk_ignore Игнорировать пакет для apk нет
yum Название пакета для yum нет
yum_ignore Игнорировать пакет для yum нет
dnf Название пакета для dnf нет
dnf_ignore Игнорировать пакет для dnf нет
brew Название пакета для brew нет
brew_ignore Игнорировать пакет для brew нет
zypper Название пакета для zypper нет
zypper_ignore Игнорировать пакет для zypper нет
pacman Название пакета для pacman нет
pacman_ignore Игнорировать пакет для pacman нет
portage Название пакета для portage нет
portage_ignore Игнорировать пакет для portage нет
opkg Название пакета для opkg нет
opkg_ignore Игнорировать пакет для opkg нет

По умолчанию используются package_state и item.name при управлении пакетами. Однако, если определены item.state или более специфичное название пакета (например, item.apt), то они будут использоваться вместо этого. Если вы хотите, чтобы пакет игнорировался для некоторых менеджеров пакетов, вы можете добавить ***_ignore: yes.

Пример package_list
package_list:
  - name: package
  - name: package1
    state: absent
  - name: package2
    apt: package2_apt_name
  - name: package3
    apt_ignore: yes
    yum: package3_yum_name
    pacman: package3_pacman_name
    portage: package3_portage_name

Зависимости

Нет.

Пример плейбука

---
- hosts: servers
  roles:
  - { role: GROG.package,
      become: yes,
        package_list: [
          { name: htop,
            brew: htop-osx },
          { name: tree }
        ]
    }

Вклад

Любая помощь, изменения или идеи приветствуются!

Автор

От G. Roggemans

Лицензия

MIT

О проекте

A role for installing packages on different operating systems.

Установить
ansible-galaxy install GROG/ansible-role-package
Лицензия
mit
Загрузки
240195
Владелец
Open Source Science and Technology