package
Пакет
Роль для управления пакетами на разных операционных системах.
В настоящее время эта роль поддерживает 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 }
]
}
Как помочь
Все предложения, изменения или идеи приветствуются!
Автор
Лицензия
MIT
A role for installing packages on different operating systems.
ansible-galaxy install taktus/package