yum_repository - Добавление или удаление репозиториев YUM
Введено в версии 2.1.
Описание
- Добавление или удаление репозиториев YUM в дистрибутивах Linux на основе RPM.
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| async | нет | да |
| Если установлено в yes, Yum будет загружать пакеты и метаданные из этого репозитория параллельно, если возможно. |
| attributes (добавлен в 2.3)
| нет | None | Атрибуты, которые должен иметь файл или директория. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в отображении lsattr. псевдонимы: attr | |
| bandwidth | нет | Максимальная доступная пропускная способность сети в байтах в секунду. Используется с параметром throttle. Если throttle — процент, а bandwidth — 0, то ограничение пропускной способности будет отключено. Если throttle выражается как скорость передачи данных (байты/сек), этот параметр игнорируется. По умолчанию 0 (без ограничения пропускной способности). | ||
| baseurl | нет | URL-адрес каталога, в котором находится каталог «repodata» репозитория Yum. Он также может быть списком нескольких URL-адресов. Этот или параметр mirrorlist необходим, если параметр state установлен в present. | ||
| cost | нет | 1000 | Относительная стоимость доступа к этому репозиторию. Полезно для взвешивания пакетов одного репозитория как больших/меньших, чем любые другие. | |
| deltarpm_metadata_percentage | нет | 100 | Когда относительный размер метаданных deltarpm по сравнению с пакетами превышает это значение, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что вы можете задавать значения более 100, так 200 означает, что метаданные должны быть вдвое меньше размера пакетов. Используйте 0 для отключения этой проверки и всегда загружайте метаданные. | |
| deltarpm_percentage | нет | 75 | Когда относительный размер дельты по сравнению с пакетом больше этого значения, дельта не используется. Используйте 0 для отключения обработки дельта-rpm. В локальных репозиториях (с baseurl file://) дельта-rpm отключена по умолчанию. | |
| description | нет | Строка, читаемая человеком, описывающая репозиторий. Этот параметр необходим только если параметр state установлен в present. | ||
| enabled | нет | да |
| Это сообщает Yum, использовать ли этот репозиторий. |
| enablegroups | нет | да |
| Определяет, позволит ли Yum использовать группы пакетов для этого репозитория. |
| exclude | нет | Список пакетов, которые следует исключить из обновлений или установок. Это должен быть список, разделенный пробелами. Разрешены оболочки командной строки с использованием подстановочных знаков (например, * и ?).Список также может быть обычным массивом YAML. | ||
| failovermethod | нет | roundrobin |
| roundrobin случайным образом выбирает URL из списка URL-адресов для начала и продолжает проходить по каждому из них, когда возникает сбой при подключении к хосту.priority начинается с первого указанного baseurl и последовательно считывает их. |
| file | нет | Файл для сохранения репозитория. По умолчанию значение name. | ||
| gpgcakey | нет | URL, указывающий на файл ключа CA в формате ASCII для репозитория. | ||
| gpgcheck | нет | нет |
| Сообщает Yum, должен ли он выполнять проверку подписи GPG для пакетов. |
| gpgkey | нет | URL, указывающий на файл ключа GPG в формате ASCII для репозитория. Он также может быть списком нескольких URL-адресов. | ||
| group | нет | Имя группы, которой должен принадлежать файл/каталог, как если бы это было передано в chown. | ||
| http_caching | нет | all |
| Определяет, как сторонние HTTP-кэши обрабатывают любые HTTP-загрузки, которые выполняет Yum. all означает, что все HTTP-загрузки должны быть кэшированы.packages означает, что должны быть кэшированы только загрузки пакетов RPM (но не загрузки метаданных репозитория).none означает, что ни одна HTTP-загрузка не должна быть кэширована. |
| include | нет | Включить внешний конфигурационный файл. Поддерживаются локальный путь и URL. Конфигурационный файл будет вставлен в позицию строки include=. Включенные файлы могут содержать дополнительные строки включения. Yum прекратит работу с ошибкой, если будет обнаружен цикл включения. | ||
| includepkgs | нет | Список пакетов, которые вы хотите использовать только из репозитория. Это должен быть список, разделенный пробелами. Разрешены оболочки командной строки с использованием подстановочных знаков (например, * и ?). Здесь учитываются переменные подстановки (например, $releasever).Список также может быть обычным массивом YAML. | ||
| ip_resolve | нет | whatever |
| Определяет, как Yum разрешает имена хостов. 4 или IPv4 — разрешить только IPv4-адреса.6 или IPv6 — разрешить только IPv6-адреса. |
| keepalive | нет | нет |
| Это сообщает Yum, использовать ли HTTP/1.1 keepalive с этим репозиторием. Это может улучшить скорость передачи, используя одно подключение при загрузке нескольких файлов из репозитория. |
| keepcache | нет | 1 |
| Либо 1 или 0. Определяет, сохраняет ли yum кэш заголовков и пакетов после успешной установки. |
| metadata_expire | нет | 21600 | Время (в секундах) после которого метаданные истекут. Значение по умолчанию — 6 часов. | |
| metadata_expire_filter | нет | read-only:present |
| Фильтровать время metadata_expire, позволяя обменять скорость на точность, если команда этого не требует. Каждая команда yum может указать, что она требует определенного уровня актуальности от удаленных репозиториев. От «я собираюсь установить/обновить, поэтому это должно быть актуальным» до «любой доступный вариант годится». never — ничего не отфильтровывается, всегда подчиняется metadata_expire.read-only:past — команды, которые заботятся только о прошедшей информации, отфильтровываются от истечения срока действия метаданных. Например, информация команды yum history (если history нужно искать что-либо о предыдущей транзакции, то по определению удалённый пакет был доступен в прошлом).read-only:present — команды, которые сбалансированы между прошлым и будущим. Например, yum list yum.read-only:future — команды, которые, скорее всего, приведут к запуску других команд, которые потребуют последние метаданные. Например, yum check-update.Обратите внимание, что этот параметр не переопределяет «yum clean expire-cache». |
| metalink | нет | Указывает URL-адрес файла metalink для repomd.xml, список зеркал для всего репозитория генерируется путём преобразования зеркал для файла repomd.xml в baseurl. | ||
| mirrorlist | нет | Указывает URL-адрес файла, содержащего список baseurl. Этот или параметр baseurl необходим, если параметр state установлен в present. | ||
| mirrorlist_expire | нет | 21600 | Время (в секундах), после которого кэшированный локально mirrorlist истечёт. Значение по умолчанию — 6 часов. | |
| mode | нет | Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Пропуск стартовой нули, скорее всего, приведёт к непредвиденным результатам. С версии 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r). | ||
| name | да | Уникальный идентификатор репозитория. Этот параметр необходим только если параметр state установлен в present или absent. | ||
| owner | нет | Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown. | ||
| params | нет | Параметр, позволяющий пользователю перезаписать любой из других параметров. Для удаления параметра установите значение параметра в null. | ||
| password | нет | Пароль для использования с именем пользователя для аутентификации по схеме basic. | ||
| priority | нет | 99 | Принудительно упорядоченная защита репозиториев. Значение — целое число от 1 до 99. Этот параметр работает только если установлен плагин YUM Priorities. | |
| protect | нет | нет |
| Защитить пакеты от обновлений из других репозиториев. |
| proxy | нет | URL-адрес прокси-сервера, который должен использовать yum. Установите значение в _none_ для отключения глобальной настройки прокси. | ||
| proxy_password | нет | Имя пользователя для использования с прокси. | ||
| proxy_username | нет | Пароль для этого прокси. | ||
| repo_gpgcheck | нет | нет |
| Это сообщает Yum, должен ли он выполнять проверку подписи GPG для repodata из этого репозитория. |
| reposdir | нет | /etc/yum.repos.d | Директория, в которой будут храниться файлы .repo. | |
| retries | нет | 10 | Установите количество попыток повторного выполнения попытки извлечения файла до возврата ошибки. Установка значения 0 заставит yum пытаться всегда. | |
| s3_enabled | нет | нет |
| Включает поддержку репозиториев S3. Этот параметр работает только в том случае, если установлена плагин YUM S3. |
| selevel | нет | s0 | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает как для seuser. | |
| serole | нет | Часть контекста файла SELinux, роль. Функция _default работает как для seuser. | ||
| setype | нет | Часть контекста файла SELinux, тип. Функция _default работает как для seuser. | ||
| seuser | нет | Часть контекста файла SELinux, пользователь. Будет использоваться системная политика, если применимо. Если установлено значение _default, будет использоваться часть политики user (если доступна). | ||
| skip_if_unavailable | нет | нет |
| Если установлено значение yes, yum продолжит работу, если к этому репозиторию невозможно подключиться по какой-либо причине. Этот параметр следует устанавливать с осторожностью, поскольку для любого данного командного запроса просматриваются все репозитории. |
| ssl_check_cert_permissions | нет | нет |
| Определяет, должен ли yum проверять разрешения на пути к сертификатам в репозитории (как удалённые, так и локальные). Если какие-либо файлы не поддаются чтению, yum принудительно устанавливает значение skip_if_unavailable в yes. Это наиболее полезно для процессов, не выполняемых от имени root, которые используют yum с репозиториями, имеющими файлы сертификатов клиента, доступные только для root. |
| sslcacert | нет | Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов. | ||
| sslclientcert | нет | Путь к SSL-сертификату клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам. | ||
| sslclientkey | нет | Путь к SSL-ключу клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам. | ||
| sslverify | нет | да |
| Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты. |
| state | нет | наличие |
| Состояние файла репозитория. |
| throttle | нет | Включить ограничение пропускной способности для загрузок. Этот параметр может быть выражен как абсолютная скорость передачи данных в байтах/сек. К значению пропускной способности можно добавить префикс СИ (к, М или Г). | ||
| timeout | нет | 30 | Количество секунд ожидания подключения перед истечением времени ожидания. | |
| ui_repoid_vars | нет | releasever basearch | При отображении идентификатора репозитория добавьте эти переменные yum к строке, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (и найденные). | |
| unsafe_writes (добавлено в 2.2)
| нет |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов. Иногда системы настроены или просто сломаны таким образом, что это предотвращается. Один из примеров - файлы, смонтированные через docker; их невозможно обновлять атомарно, а обновление возможно только небезопасным способом. Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это может привести к гонкам и повреждению данных. | |
| username | нет | Имя пользователя для использования при базовой аутентификации репозитория или любого URL. |
Примеры
- name: Add repository
yum_repository:
name: epel
description: EPEL YUM repo
baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/
- name: Add multiple repositories into the same file (1/2)
yum_repository:
name: epel
description: EPEL YUM repo
file: external_repos
baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/
gpgcheck: no
- name: Add multiple repositories into the same file (2/2)
yum_repository:
name: rpmforge
description: RPMforge YUM repo
file: external_repos
baseurl: http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
mirrorlist: http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
enabled: no
# Handler showing how to clean yum metadata cache
- name: yum-clean-metadata
command: yum clean metadata
args:
warn: no
# Example removing a repository and cleaning up metadata cache
- name: Remove repository (and clean up left-over metadata)
yum_repository:
name: epel
state: absent
notify: yum-clean-metadata
- name: Remove repository from a specific repo file
yum_repository:
name: epel
file: external_repos
state: absent
#
# Allow to overwrite the yum_repository parameters by defining the parameters
# as a variable in the defaults or vars file:
#
# my_role_somerepo_params:
# # Disable GPG checking
# gpgcheck: no
# # Remove the gpgkey option
# gpgkey: null
#
- name: Add Some repo
yum_repository:
name: somerepo
description: Some YUM repo
baseurl: http://server.com/path/to/the/repo
gpgkey: http://server.com/keys/somerepo.pub
gpgcheck: yes
params: "{{ my_role_somerepo_params }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для данного модуля:
| имя | описание | возвращаемое | тип | пример |
|---|---|---|---|---|
| repo | имя репозитория | успех | строка | epel |
| state | состояние целевого объекта после выполнения | успех | строка | наличие |
Примечания
Примечание
- Все комментарии будут удалены при изменении существующего файла репозитория.
- Порядок разделов сохраняется в существующем файле репозитория.
- Параметры в разделе упорядочены алфавитно в существующем файле репозитория.
- Файл репозитория будет автоматически удалён, если он не содержит ни одного репозитория.
- При удалении репозитория следует учитывать, что кэш метаданных может оставаться на диске до тех пор, пока вы не запустите
yum clean all. Для этого используйте обработчик уведомлений.
Статус
Этот модуль помечен как 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_repository_module.html