cans.package-install
cans.package-install
Простая роль Ansible, которая устанавливает заданный список пакетов Debian
(.deb).
Цель этой роли - предоставить минималистичный, но эффективный и многоразовый метод установки пакетов. Это по сути процедура, которая, получив список пакетов, устанавливает их.
Требования
У данной роли нет особых предварительных требований. Однако предполагается, что целевой сервер(ы) использует дистрибутив Debian или его производные.
Переменные роли
Все переменные в этой роли имеют префикс pkginstall_.
Эта роль также определяет переменные для внутреннего использования. Они начинаются с _pkginstall_. Вам не следует использовать эти переменные.
Входные переменные
Для того чтобы эта роль выполнила какую-либо задачу, вы должны определить одну или обе из переменных pkginstall_packages_absent и pkginstall_packages_present.
pkginstall_packages: УСТАРЕЛО Используйте вместо этогоpkginstall_packages_present(по умолчанию:[]);pkginstall_packages_present: список имен пакетов, которые необходимо установить на целевом хосте (по умолчанию:[]);pkginstall_packages_absent: список имен пакетов, которые необходимо не устанавливать на целевом хосте (по умолчанию:[]);
Значения по умолчанию
pkginstall_apt_package_list_cache_directory: путь к каталогу, который хранит доступные списки пакетов и списки содержимого пакетов. Эта переменная требуется только в том случае, если вы установилиpkginstall_cache_purgeвtrue(см. ниже). Вряд ли вам когда-либо потребуется это изменять. (по умолчанию:"/var/lib/apt/lists")pkginstall_cache_ttl: продолжительность действия кэша пакетов, в секундах (по умолчанию: 3600)pkginstall_cache_update: обновлять кэш пакетов перед установкой пакетов или нет (по умолчанию:true)pkginstall_purge: при удалении пакетов также удалять их конфигурационные файлы (по умолчанию:true);pkginstall_recommended: устанавливать ли рекомендуемые пакеты вместе с явно перечисленными пакетами для установки (по умолчанию:false).pkginstall_update_cache: УСТАРЕЛО используйте вместо этогоpkginstall_cache_update(по умолчанию:true)
Зависимости
У данной роли нет формальных зависимостей. Но вам нужно переопределить переменную pkginstall_packages, чтобы фактически выполнить какие-либо действия (см. пример плейбука ниже).
Вам также может быть интересно использовать роль cans.package-source вместе с этой, чтобы добавить дополнительные репозитории пакетов к уже известным APT.
Примеры плейбуков
Предположим, у вас есть две роли, first_role и second_role, каждая из которых определяет переменную с списком пакетов для установки, скажем, first_role_packages и second_role_packages, соответственно. Затем вы можете, чтобы использовать эту роль, начать с присвоения переменной pkginstall_packages объединения обоих списков. Затем просто вызовите роль.
- hosts: servers
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
- role: first_role
- role: second_role
Если по какой-то причине вы не можете установить все пакеты сразу (например, потому что first_role устанавливает или настраивает что-то, необходимое перед установкой пакетов, требуемых second_role):
- hosts: servers
roles:
- role: cans.package-install
pkginstall_packages: "{{ first_role_packages }}"
- role: first_role
- role: cans.package-install
pkginstall_packages: "{{ second_role_packages }}"
- role: second_role
В приведенных выше примерах предполагается, что Ansible подключается к целевым серверам с учетной записью, обладающей достаточными привилегиями для установки пакетов. Если это не так, вам может понадобиться использовать одну или обе الكلمات ключей remote_user и become:
- hosts: servers
remote_user: "привилегированный-пользователь"
vars:
pkginstall_packages: "{{ first_role_packages + second_role_packages }}"
roles:
- role: cans.package-install
become: yes
- role: first_role
- role: second_role
Лицензия
GPLv2
Информация об авторе
Copyright © 2017-2018, Nicolas CANIART.
Simple Ansible Role that installs a given list of Debian packages (`.deb`).
ansible-galaxy install cans.package-install