package

Пакет

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

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

В настоящее время эта роль поддерживает apt, yum, dnf, brew, zypper, pacman и portage.
Не стесняйтесь отправлять запрос на добавление или новой функции, чтобы включить ваш любимый менеджер пакетов!

Внимание:

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

Требования

  • Хосты должны быть подготовлены для использования ansible (иметь python и т.д.)
  • Права суперпользователя, например 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? нет
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 нет

По умолчанию используются 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 taktus/package
Лицензия
mit
Загрузки
100
Владелец