update
Роль Ansible: обновление
Роль Ansible, которая проверяет наличие системных обновлений и при необходимости устанавливает их. Также есть возможность вывести список обновляемых пакетов без их фактического обновления.
Примечание о бета-версии
Эта роль находится в бета-версии и не предназначена для использования в производственной среде. В будущем могут произойти значительные изменения, поэтому, пожалуйста, обязательно ознакомьтесь с примечаниями к релизу.
Требования
Эта роль зависит от определенных коллекций, которые не включены в ansible-core.
Чтобы установить зависимости этой роли, создайте файл requirements.yml
со следующим содержимым:
---
collections:
- name: community.general
Затем, если вы используете ansible-base/ansible-core версии 2.10 или выше, выполните эту команду:
ansible-galaxy install -r requirements.yml
Если вы все еще используете Ansible 2.9, выполните следующую команду:
ansible-galaxy collection install -r requirements.yml
Переменные роли
Вот переменные этой роли и их значения по умолчанию, установленные в defaults/main.yml
. При желании вы можете изменить их, чтобы настроить поведение этой роли.
---
# файл по умолчанию для обновления
# Опции:
# - `check` для вывода обновляемых пакетов без их обновления
# - `full` для вывода обновляемых пакетов, а затем их обновления
# - `run` для обновления всех пакетов без предварительного их перечисления
mode: full
# Эта опция устанавливает тип обновления apt. Доступные опции: `dist`, `full`, `safe` и `true`.
# Смотрите документацию к [ansible.builtin.apt][1] для получения дополнительной информации.
update_apt_upgrade_type: true
# Эта опция устанавливает ключ состояния для модуля zypper.
# Выберите `latest` для обычного обновления или `dist-upgrade` как эквивалент для `zypper dup`.
# Смотрите документацию к [community.general.zypper][2] для получения дополнительной информации.
update_zypper_state: latest
# Эта опция определяет, допускает ли zypper изменение поставщика.
update_zypper_allow_vendor_change: false
# Удалять ли ненужные зависимости автоматически. Это применимо только к dnf, yum и apt.
update_autoremove: false
[1]: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/apt_module.html
[2]: https://docs.ansible.com/ansible/latest/collections/community/general/zypper_module.html
Пример плейбука
---
- name: Свести
hosts: all
become: true
tasks:
- name: "Подключить обновление"
ansible.builtin.include_role:
name: gotmax23.update
Совместимость
Эта роль тестируется с последней версией ansible-core и последними версиями коллекций из Ansible Galaxy. Это единственная версия Ansible, которую официально поддерживает эта роль. Другие версии поддерживаются наилучшим образом.
Эта роль совместима со следующими дистрибутивами:
дистрибутив | версии |
---|---|
Archlinux | любые |
Debian | buster, bullseye, bookworm |
EL | 7, 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Лицензия
Автор
Максвелл Г (@gotmax23)
Ansible role that checks for and optionally installs system updates. It also has to the option to print upgradeable packages without actually upgrading them.
ansible-galaxy install gotmax23/ansible-role-update