yum - Управление пакетами с помощью менеджера пакетов yum
Описание
- Устанавливает, обновляет, понижает, удаляет и перечисляет пакеты и группы с помощью менеджера пакетов yum.
- Этот модуль работает только с Python 2. Если вам необходима поддержка Python 3, обратитесь к модулю dnf.
Требования (для хоста, на котором выполняется модуль)
- yum
Параметры
| параметр | обязательно | значение по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| allow_downgrade (добавлен в 2.4)
| нет | нет |
| Указывает, разрешено ли понизить версию указанного пакета до более старой версии, если такая уже установлена. Обратите внимание, что установка allow_downgrade=True может привести к тому, что этот модуль будет работать не идемпотентно. Задача может завершиться с набором пакетов, который не соответствует полному списку указанных пакетов для установки (потому что зависимости между пониженным пакетом и другими могут вызвать изменения в пакетах, которые были в предыдущей транзакции). |
| conf_file | нет | Файл удалённой конфигурации yum, используемый для транзакции. | ||
| disable_gpg_check | нет | нет |
| Отключить проверку подписи GPG устанавливаемых пакетов. Действует только если состояние равно present или latest. |
| disablerepo | нет |
Идентификатор репозитория репозиториев, которые нужно отключить для операции установки/обновления. Эти репозитории не будут сохраняться после транзакции. При указании нескольких репозиториев разделяйте их запятыми. | ||
| enablerepo | нет |
Идентификатор репозитория репозиториев, которые нужно включить для операции установки/обновления. Эти репозитории не будут сохраняться после транзакции. При указании нескольких репозиториев разделяйте их запятыми. | ||
| exclude (добавлен в 2.0)
| нет | Имя(а) пакета(ов) для исключения при state=present или latest | ||
| installroot (добавлен в 2.3)
| нет | / | Указывает альтернативный installroot, относительно которого будут установлены все пакеты. | |
| list | нет | Имя пакета, для которого выполняется эквивалент yum list <package>. | ||
| name | да | Имя пакета или спецификатор пакета с версией, например name-1.0. Если указана предыдущая версия, задача также должна установить allow_downgrade. См. документацию allow_downgrade по предосторожностям при понижении версий пакетов. При использовании state=latest, это может быть '*' что означает запуск yum -y update. Также можно передать URL или локальный путь к файлу rpm (используя state=present). Для работы с несколькими пакетами можно передать список пакетов, разделенных запятыми, или (с версии 2.0) список пакетов.псевдонимы: pkg | ||
| security (добавлен в 2.4)
| нет | нет |
| Если установлено в yes, и state=latest, тогда устанавливаются только обновления, помеченные как связанные с безопасностью. |
| skip_broken (добавлен в 2.3)
| нет | нет |
| Решение проблем depsolve, путём удаления из транзакции пакетов, вызывающих проблемы. |
| state | нет | present |
| Устанавливать ( present или installed, latest) или удалять (absent или removed) пакет. |
| update_cache (добавлен в 1.9)
| нет | нет |
| Принудительно заставляет yum проверить, не устарел ли кэш, и перескачать его при необходимости. Действует только если состояние равно present или latest. псевдонимы: expire-cache |
| validate_certs (добавлен в 2.1)
| нет | да |
| Это относится только к использованию https url в качестве источника rpm. Например, для localinstall. Если установлено в no, сертификаты SSL не будут проверены.Это следует устанавливать в no только на сайтах, контролируемых лично, с использованием самозаверяющих сертификатов, так как это позволяет избежать проверки источника сайта.До версии 2.1 код работал так, как если бы это было установлено в yes. |
Примеры
- name: install the latest version of Apache
yum:
name: httpd
state: latest
- 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
Примечания
Примечание
- При использовании с циклом имён пакетов в playbook, ansible оптимизирует вызов модуля yum. Вместо вызова модуля с одним пакетом при каждом проходе цикла, ansible вызовет модуль один раз со всеми именами пакетов из цикла.
- В версиях до 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», чтобы увидеть, к какой категории групп принадлежит группа, которую вы хотите установить.
Статус
Этот модуль отмечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься обратные изменения в интерфейс.
Информация о техническом обслуживании
Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вы заинтересованы, ознакомьтесь с Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/yum_module.html