package-install

cans.package-install

Статус сборки Ansible Galaxy Лицензия

Простая роль 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
Лицензия
gpl-2.0
Загрузки
516
Владелец