ansible.builtin.yum_repository – Добавление или удаление репозиториев YUM
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев можно использовать короткое имя модуля yum_repository, даже без указания ключевого слова collections:. Несмотря на это, рекомендуется использовать FQCN для лёгкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
В версии 2.1: из ansible.builtin
Описание
- Добавление или удаление репозиториев YUM в дистрибутивах Linux на базе RPM.
- Если вы хотите обновить существующее определение репозитория, используйте community.general.ini_file вместо этого.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| async boolean |
| Если установлено значение yes, Yum загрузит пакеты и метаданные с этого репозитория параллельно, если это возможно. |
| attributes string добавлен в 2.3 ansible.builtin | Атрибуты, которые должны иметь результирующий файл или каталог. Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается командой lsattr. Оператор = предполагается по умолчанию, в противном случае операторы + или - должны быть включены в строку.псевдонимы: attr | |
| bandwidth string | Значение по умолчанию: 0 | Максимальная доступная пропускная способность сети в байтах/секунду. Используется с опцией throttle. Если throttle — процентное значение, а bandwidth — 0, то ограничение пропускной способности будет отключено. Если throttle выражается как скорость передачи данных (байты/сек), то этот параметр игнорируется. Значение по умолчанию — 0 (ограничение пропускной способности отсутствует). |
| baseurl list / elements=string | URL каталога, в котором находится каталог 'repodata' репозитория yum. Он также может быть списком нескольких URL. Этот, параметры metalink или mirrorlist необходимы, если state установлено в present. | |
| cost string | Значение по умолчанию: 1000 | Относительная стоимость доступа к этому репозиторию. Полезно для взвешивания пакетов одного репозитория как больше/меньше, чем любые другие. |
| deltarpm_metadata_percentage string | Значение по умолчанию: 100 | Если относительный размер метаданных deltarpm по сравнению с пакетами больше, чем это значение, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что вы можете задавать значения больше 100, поэтому 200 означает, что метаданные должны составлять половину размера пакетов. Используйте 0 для отключения этой проверки и всегда загружайте метаданные. |
| deltarpm_percentage string | Значение по умолчанию: 75 | Если относительный размер delta по сравнению с пакетом больше, чем это значение, delta не используется. Используйте 0 для отключения обработки delta rpm. В локальных репозиториях (с file:// baseurl) delta rpm отключены по умолчанию. |
| description string | Строка, читаемая человеком, описывающая репозиторий. Этот параметр соответствует свойству "name" в файле репозитория. Этот параметр требуется только если state установлено в present. | |
| enabled boolean |
| Указывает yum, использовать ли этот репозиторий. Значение по умолчанию Yum — true. |
| enablegroups boolean |
| Определяет, будет ли yum разрешать использование групп пакетов для этого репозитория. Значение по умолчанию Yum — true. |
| exclude list / elements=string | Список пакетов, которые следует исключить из обновлений или установок. Это должен быть список, разделенный пробелами. Разрешены оболочки shell с подстановкой шаблонов (например, * и ?).Список также может быть обычным YAML-массивом. | |
| failovermethod string |
| roundrobin случайным образом выбирает URL из списка URL для начала и переходит по каждому из них при возникновении ошибки при подключении к хосту.priority начинается с первого указанного baseurl и читает их последовательно. |
| file string | Имя файла без .repo расширения для сохранения репозитория. По умолчанию используется значение name. | |
| gpgcakey string | URL, указывающий на файл ключа CA репозитория в ASCII-armored формате. | |
| gpgcheck boolean |
| Указывает yum, необходимо ли выполнять проверку подписи GPG для пакетов. Нет значения по умолчанию. Если значение не задано, используется системное значение из /etc/yum.conf или системное значение по умолчанию no. |
| gpgkey list / elements=string | URL, указывающий на файл ключа GPG репозитория в ASCII-armored формате. Он также может быть списком нескольких URL. | |
| group string | Имя группы, которая должна владеть файлом/каталогом, как это подается в chown. | |
| http_caching string |
| Определяет, как верхние HTTP-кэши инструктируются обрабатывать HTTP-загрузки, которые выполняет Yum. all означает, что все HTTP-загрузки должны быть кэшированы.packages означает, что кэшируются только загрузки пакетов RPM (но не загрузки метаданных репозитория).none означает, что никакие HTTP-загрузки не должны быть кэшированы. |
| include string | Включает внешний конфигурационный файл. Поддерживаются как локальный путь, так и URL. Конфигурационный файл будет вставлен в позицию строки include=. Включенные файлы могут содержать дополнительные строки включения. Yum прекратит работу с ошибкой, если будет обнаружен цикл включения. | |
| includepkgs list / elements=string | Список пакетов, которые вы хотите использовать только из репозитория. Это должен быть список, разделенный пробелами. Разрешены оболочки shell с подстановкой шаблонов (например, * и ?). Здесь учитываются переменные подстановки (например, $releasever).Список также может быть обычным YAML-массивом. | |
| ip_resolve string |
| Определяет, как yum разрешает имена хостов. 4 или IPv4 - разрешение только на IPv4-адреса.6 или IPv6 - разрешение только на IPv6-адреса. |
| keepalive boolean |
| Указывает yum, использовать ли HTTP/1.1 keepalive с этим репозиторием. Это может улучшить скорость передачи, используя одно соединение при загрузке нескольких файлов из репозитория. |
| keepcache string |
| Либо 1, либо 0. Определяет, сохраняется ли кэш заголовков и пакетов yum после успешной установки. |
| metadata_expire string | Значение по умолчанию: 21600 | Время (в секундах), после которого метаданные истекут. Значение по умолчанию — 6 часов. |
| metadata_expire_filter string |
| Фильтр времени metadata_expire, позволяющий торговать скоростью на точность, если команда не требует этого. Каждая команда yum может указать, что она требует определенного уровня актуальности от удаленных репозиториев, от "Я собираюсь установить/обновить, поэтому это должно быть актуальным" до "Любая доступная информация подходит". never — ничего не фильтруется, всегда соблюдается metadata_expire.read-only:past — Команды, которые заботятся только о прошедшей информации, отфильтровываются от истечения срока действия метаданных. Например, информация yum history (если история нуждается в поиске чего-либо о предыдущей транзакции, то по определению удаленный пакет был доступен в прошлом).read-only:present — Команды, которые находятся на балансе между прошлым и будущим. Например, yum list yum.read-only:future — Команды, которые, скорее всего, приведут к выполнению других команд, которые потребуют самых последних метаданных. Например, yum check-update.Обратите внимание, что этот параметр не переопределяет "yum clean expire-cache". |
| metalink string | Указывает URL на файл metalink для repomd.xml, список зеркал для всего репозитория генерируется путем преобразования зеркал для файла repomd.xml в baseurl. Этот, параметры baseurl или mirrorlist необходимы, если state установлено в present. | |
| mirrorlist string | Указывает URL на файл, содержащий список baseurl. Этот, параметры baseurl или metalink необходимы, если state установлено в present. | |
| mirrorlist_expire string | Значение по умолчанию: 21600 | Время (в секундах), после которого кэшированный локально mirrorlist истечет. Значение по умолчанию — 6 часов. |
| mode raw | Права, которые должен иметь полученный файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущий ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') , чтобы Ansible получил строку и смог выполнить собственное преобразование из строки в число.Если вы передадите Ansible число без соблюдения одного из этих правил, вы получите десятичное число, что приведёт к непредсказуемым результатам. Начиная с Ansible 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).Если mode не указан и целевой файл не существует, по умолчанию будет использоваться umask системы при установке режима для нового файла.Если mode не указан и целевой файл существует, будет использован режим существующего файла.Указание mode — лучший способ гарантировать, что файлы создаются с правильными правами. Для получения дополнительных сведений см. CVE-2020-1736. | |
| module_hotfixes boolean добавлено в 2.11 ansible.builtin |
| Отключить фильтрацию модулей RPM и сделать доступными все RPM из репозитория. По умолчанию None. |
| name string / required | Уникальный идентификатор репозитория. Этот параметр создаёт имя раздела репозитория в файле repo. Этот параметр необходим только если state задано present или absent. | |
| owner string | Имя пользователя, которому должен принадлежать файл/каталог, как это передаётся в chown. | |
| password string | Пароль, используемый вместе с именем пользователя для аутентификации по протоколу Basic. | |
| priority string | По умолчанию: 99 | Принудительно упорядочить защиту репозиториев. Значение — целое число от 1 до 99. Этот параметр работает только при установленной плагине YUM Priorities. |
| protect boolean |
| Защитить пакеты от обновлений из других репозиториев. |
| proxy string | URL прокси-сервера, который должен использовать yum. Установить в _none_ для отключения глобальной настройки прокси. | |
| proxy_password string | Пароль для этого прокси. | |
| proxy_username string | Имя пользователя для использования с прокси. | |
| repo_gpgcheck boolean |
| Это сообщает yum, должен ли он выполнять проверку подписи GPG для repodata из этого репозитория. |
| reposdir путь | По умолчанию: "/etc/yum.repos.d" | Директория, в которой будут храниться файлы .repo. |
| retries string | По умолчанию: 10 | Установите количество попыток повторного получения файла перед возвращением ошибки. Установка этого значения в 0 заставляет yum пытаться бесконечно. |
| s3_enabled boolean |
| Включает поддержку репозиториев S3. Этот параметр работает только при установленной плагине YUM S3. |
| selevel string | Часть контекста файла SELinux, отвечающая за уровень. Это атрибут MLS/MCS, иногда известный как range.При установке в _default, он будет использовать часть политики level , если она доступна. | |
| serole string | Часть контекста файла SELinux, отвечающая за роль. При установке в _default, он будет использовать часть политики role , если она доступна. | |
| setype string | Часть контекста файла SELinux, отвечающая за тип. При установке в _default, он будет использовать часть политики type , если она доступна. | |
| seuser string | Часть контекста файла SELinux, отвечающая за пользователя. По умолчанию используется политика system, где это применимо.При установке в _default, он будет использовать часть политики user , если она доступна. | |
| skip_if_unavailable boolean |
| Если установлено yes yum продолжит работу, если по какой-либо причине с этим репозиторием невозможно связаться. Это следует устанавливать с осторожностью, так как все репозитории проверяются для каждого команды. |
| ssl_check_cert_permissions boolean |
| Указывает, должен ли yum проверять права доступа к путям сертификатов в репозитории (как удалённом, так и локальном). Если мы не можем прочитать какой-либо из файлов, yum принудительно установит skip_if_unavailable в yes. Это наиболее полезно для процессов, не имеющих прав root, которые используют yum для репозиториев, имеющих файлы сертификатов клиента, доступные только для root. |
| sslcacert string | Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов. псевдонимы: ca_cert | |
| sslclientcert string | Путь к SSL-сертификату клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам. псевдонимы: client_cert | |
| sslclientkey string | Путь к SSL-ключу клиента, который yum должен использовать для подключения к репозиториям/удалённым сайтам. псевдонимы: client_key | |
| sslverify boolean |
| Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты. псевдонимы: validate_certs |
| state string |
| Состояние файла репозитория. |
| throttle string | Включить ограничение пропускной способности для загрузок. Этот параметр может быть выражен как абсолютная скорость передачи данных в байтах/сек. К значению пропускной способности может быть добавлено префикс SI (к, М или Г). | |
| timeout string | По умолчанию: 30 | Количество секунд ожидания подключения перед отключением из-за истечения времени. |
| ui_repoid_vars string | По умолчанию: "releasever basearch" | При отображении идентификатора репозитория добавьте эти переменные yum к строке, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (и найдены). |
| unsafe_writes boolean добавлено в 2.2 ansible.builtin |
| Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто работают таким образом, что это невозможно. Одним из примеров являются смонтированные файлы Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible вернуться к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (хотя он не принуждает Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. |
| username string | Имя пользователя для использования с базовой аутентификацией для репозитория или любого URL. |
Примечания
Примечание
- Все комментарии будут удалены при изменении существующего файла repo.
- Порядок разделов сохраняется в существующем файле repo.
- Параметры в разделе упорядочены в алфавитном порядке в существующем файле repo.
- Файл репозитория автоматически удалится, если он не содержит репозиторий.
- При удалении репозитория следует учитывать, что кэш метаданных может оставаться на диске до тех пор, пока вы не выполните
yum clean all. Используйте обработчик уведомлений для этого. - Параметр
paramsбыл удален в Ansible 2.5 из-за обхода обработки параметров Ansible.
Примеры
- 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| repo string | успех | имя репозитория Пример: epel |
| state string | успех | состояние цели после выполнения Пример: наличие |
Авторы
- Ярослав Тыр (@jtyr)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/yum_repository_module.html