yum – Управляет пакетами с помощью менеджера пакетов yum
Описание
- Устанавливает, обновляет, понижает, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов yum.
- Этот модуль работает только с Python 2. Если вам нужна поддержка Python 3, обратитесь к модулю dnf.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- yum
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_downgrade boolean добавлено в 2.4 |
| Указывает, разрешено ли понижение версии указанного пакета и версии, возможно, уже установленной более новой версии этого пакета. Обратите внимание, что установка allow_downgrade=True может привести к тому, что этот модуль будет вести себя неидемпотентно. В результате выполнения задачи может получиться набор пакетов, не соответствующий полному списку указанных для установки пакетов (поскольку зависимости между пониженным пакетом и другими могут вызвать изменения в пакетах, которые были установлены в предыдущей транзакции). |
| autoremove boolean добавлено в 2.7 |
| Если yes, удаляет все пакеты "листьев" из системы, которые изначально устанавливались как зависимости пользовательских пакетов, но больше не требуются ни одним таким пакетом. Следует использовать отдельно или когда состояние отсутствует
ПРИМЕЧАНИЕ: эта функция требует yum >= 3.4.3 (RHEL/CentOS 7+) |
| bugfix - добавлено в 2.6 | Значение по умолчанию: "нет" | Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с исправлениями ошибок. |
| conf_file - | Удаленный файл конфигурации yum, который нужно использовать для транзакции. | |
| disable_excludes - добавлено в 2.7 | Отключить исключения, определенные в файлах конфигурации YUM. Если установлено all, отключаются все исключения.Если установлено main, отключаются исключения, определенные в [main] в yum.conf.Если установлено repoid, отключаются исключения, определенные для данного идентификатора репозитория. | |
| disable_gpg_check boolean |
| Отключить проверку подписей GPG пакетов, которые устанавливаются. Оказывает влияние только в случае, если состояние есть или последняя версия. |
| disable_plugin - добавлено в 2.5 |
Имя плагина для отключения для операции установки/обновления. Отключенные плагины не сохраняются после завершения транзакции. | |
| disablerepo - |
Идентификатор репозитория репозиториев для отключения для операции установки/обновления. Эти репозитории не сохраняются после завершения транзакции. При указании нескольких репозиториев разделяйте их символом ",".Начиная с Ansible 2.7, это может быть список вместо "," разделителя. | |
| download_only boolean добавлено в 2.7 |
| Только загрузить пакеты, не устанавливать их. |
| enable_plugin - добавлено в 2.5 |
Имя плагина для включения для операции установки/обновления. Включенный плагин не сохраняется после завершения транзакции. | |
| enablerepo - |
Идентификатор репозитория репозиториев для включения для операции установки/обновления. Эти репозитории не сохраняются после завершения транзакции. При указании нескольких репозиториев разделяйте их символом ",".Начиная с Ansible 2.7, это может быть список вместо "," разделителя. | |
| exclude - добавлено в 2.0 | Имя(а) пакета(ов) для исключения при state=present или latest | |
| installroot - добавлено в 2.3 | Значение по умолчанию: "/" | Указывает альтернативный installroot, относительно которого будут установлены все пакеты. |
| list - | Имя пакета для выполнения эквивалента yum list <package>. Кроме перечисления пакетов, также можно перечислить следующие: installed, updates, available и repos. | |
| name - | Имя пакета или спецификатор пакета с версией, например, name-1.0. Если указана предыдущая версия, задача также должна включить allow_downgrade. См. документацию allow_downgrade для замечаний по понижению версии пакетов.При использовании state=latest, это может быть '*', что означает запуск yum -y update. Также можно передать URL или локальный путь к файлу rpm (с помощью state=present). Для работы с несколькими пакетами можно указать список пакетов через запятую или (с версии 2.0) список пакетов. псевдонимы: pkg | |
| releasever - добавлено в 2.7 | Значение по умолчанию: null | Указывает альтернативную версию выпуска, из которой будут устанавливаться все пакеты. |
| security boolean добавлено в 2.4 |
| Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с безопасностью. |
| skip_broken boolean добавлено в 2.3 |
| Пропустить пакеты с поврежденными зависимостями(devsolve) и вызывающими проблемы. |
| state - |
| Устанавливать ( present или installed, latest) или удалять (absent или removed) пакет.present и installed просто гарантируют, что необходимый пакет установлен.latest обновит указанный пакет, если он не является последней доступной версией.absent и removed удалят указанный пакет.Значение по умолчанию None, однако фактическое действие по умолчанию present, если не включена опция autoremove для этого модуля, то absent подразумевается. |
| update_cache boolean добавлено в 1.9 |
| Принудительно заставить yum проверить, не устарел ли кэш, и перескачать его при необходимости. Оказывает влияние только в случае, если состояние есть или последняя версия. псевдонимы: expire-cache |
| update_only boolean добавлено в 2.5 |
| При использовании последней версии, обновить только установленные пакеты. Не устанавливать пакеты. Оказывает влияние только в случае, если состояние последняя версия
|
| use_backend - добавлено в 2.7 |
| Этот модуль поддерживает yum (как всегда), это известно как yum3/YUM3/yum-deprecated разработчиками yum upstream. Начиная с Ansible 2.7+, этот модуль также поддерживает YUM4, что является «новым yum», и он имеет dnf бэкенд.По умолчанию этот модуль выберет бэкенд на основе факта ansible_pkg_mgr. |
| validate_certs boolean added in 2.1 |
| Это применимо только в случае использования https-url в качестве источника rpm. Например, для localinstall. Если установлено значение no, сертификаты SSL не будут проверены.Это значение должно быть установлено только в случае использования сайта, которым вы управляете, и который использует самозаверенные сертификаты, так как это позволяет избежать проверки источника сайта. До версии 2.1 код работал так, как если бы это значение было установлено в yes. |
Примечания
Примечание
- При использовании с
loop:каждый пакет будет обрабатываться индивидуально; гораздо эффективнее передать список напрямую в параметрname. - В версиях до 1.9.2 данный модуль устанавливал и удалял каждый пакет, переданный модулю yum, по отдельности. Это вызывало проблемы, когда пакеты, определённые по имени файла или URL, нужно было устанавливать или удалять вместе. В версии 1.9.2 эта проблема была исправлена, и теперь пакеты устанавливаются в одной транзакции yum. Однако, если один из пакетов добавляет новый репозиторий yum, из которого происходят другие пакеты (например, epel-release), то этот пакет необходимо установить в отдельной задаче. Это имитирует поведение командной строки yum.
- Сам yum имеет два типа групп. «Группы пакетов» задаются в самом rpm, а «группы окружения» задаются в отдельном файле (обычно дистрибутивом). К сожалению, это разделение становится заметным для пользователей ansible, потому что ansible нужно работать с группой пакетов в одной транзакции, а yum требует, чтобы группы задавались по-разному, когда используются таким образом. Группы пакетов задаются как «@development-tools», а группы окружения — как «@^gnome-desktop-environment». Используйте команду «yum group list», чтобы посмотреть, к какой категории групп относится группа, которую вы хотите установить.
Примеры
- name: install the latest version of Apache
yum:
name: httpd
state: latest
- name: ensure a list of packages installed
yum:
name: "{{ packages }}"
vars:
packages:
- httpd
- httpd-tools
- name: remove the Apache package
yum:
name: httpd
state: absent
- name: install the latest version of Apache from the testing repo
yum:
name: httpd
enablerepo: testing
state: present
- name: install one specific version of Apache
yum:
name: httpd-2.2.29-1.4.amzn1
state: present
- name: upgrade all packages
yum:
name: '*'
state: latest
- name: upgrade all packages, excluding kernel & foo related packages
yum:
name: '*'
state: latest
exclude: kernel*,foo*
- name: install the nginx rpm from a remote repo
yum:
name: http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present
- name: install nginx rpm from a local file
yum:
name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present
- name: install the 'Development tools' package group
yum:
name: "@Development tools"
state: present
- name: install the 'Gnome desktop' environment group
yum:
name: "@^gnome-desktop-environment"
state: present
- name: List ansible packages and register result to print with debug later.
yum:
list: ansible
register: result
- name: Install package with multiple repos enabled
yum:
name: sos
enablerepo: "epel,ol7_latest"
- name: Install package with multiple repos disabled
yum:
name: sos
disablerepo: "epel,ol7_latest"
- name: Install a list of packages
yum:
name:
- nginx
- postgresql
- postgresql-server
state: present
- name: Download the nginx package but do not install it
yum:
name:
- nginx
state: latest
download_only: true
Статус
- Гарантируется, что в этом модуле не будет изменений интерфейса, несовместимых с предыдущими версиями. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Команда Ansible Core
- Seth Vidal
- Eduard Snesarev (@verm666)
- Berend De Schouwer (@berenddeschouwer)
- Abhijeet Kasurde (@Akasurde)
- Adam Miller (@maxamillion)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/yum_module.html