yum - Управляет пакетами с помощью менеджера пакетов yum
Обзор
- Устанавливает, обновляет, понижает, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов yum.
- Этот модуль работает только с Python 2. Если вам нужна поддержка Python 3, см. модуль dnf.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- yum
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_downgrade bool (добавлен в 2.4) |
| Указывает, разрешено ли понижать версию установленного пакета. Обратите внимание, что установка allow_downgrade=True может привести к неидемпотентному поведению модуля. Задача может закончиться с набором пакетов, не соответствующим полному списку указанных пакетов для установки (поскольку зависимости между пониженным пакетом и другими пакетами могут вызвать изменения в пакетах, которые были в предыдущей транзакции). |
| bugfix (добавлен в 2.6) | Значение по умолчанию: "нет" | Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как исправление ошибок. |
| conf_file | Файл удаленного конфигурации yum для использования в транзакции. | |
| disable_gpg_check bool |
| Отключает проверку подписей GPG пакетов, которые будут установлены. Действует только если состояние равно present или latest. |
| disable_plugin (добавлен в 2.5) |
Имя плагина для отключения в операции установки/обновления. Отключенные плагины не сохранятся после транзакции. | |
| disablerepo |
Идентификатор репозитория для отключения в операции установки/обновления. Эти репозитории не сохранятся после транзакции. Для указания нескольких репозиториев разделяйте их запятыми. | |
| enable_plugin (добавлен в 2.5) |
Имя плагина для включения в операции установки/обновления. Включенный плагин не сохранится после транзакции. | |
| enablerepo |
Идентификатор репозитория для включения в операции установки/обновления. Эти репозитории не сохранятся после транзакции. Для указания нескольких репозиториев разделяйте их запятыми. | |
| exclude (добавлен в 2.0) | Имя(я) пакета(ов) для исключения, когда состояние=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 | |
| security bool (добавлен в 2.4) |
| Если установлено yes, и state=latest, то устанавливаются только обновления, помеченные как связанные с безопасностью. |
| skip_broken bool (добавлен в 2.3) |
| Решить проблемы depsolve, удалив пакеты, вызывающие проблемы, из транзакции. |
| state |
| Установить ( present или installed, latest) или удалить (absent или removed) пакет.present и installed просто гарантируют, что желаемый пакет установлен.latest обновит указанный пакет, если он не является последней доступной версией.absent и removed удалят указанный пакет. |
| update_cache bool (добавлен в 1.9) |
| Принудительно заставляет yum проверить, не устарел ли кэш, и перескачать его при необходимости. Действует только если состояние равно present или latest. псевдонимы: expire-cache |
| update_only bool (добавлен в 2.5) |
| При использовании latest, обновляются только установленные пакеты. Пакеты не устанавливаются. Действует только если состояние равно latest
|
| validate_certs bool (добавлен в 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"
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет внесено обратной несовместимых изменений в интерфейс.
Техническое обслуживание
Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core Team. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых командой Ansible Core Team, см. в разделе здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Команда Ansible Core Team
- Seth Vidal
- Eduard Snesarev (@verm666)
- Berend De Schouwer (@berenddeschouwer)
- Abhijeet Kasurde (@Akasurde)
Подсказка
Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/yum_module.html