yum_repository – Добавление или удаление репозиториев YUM
Описание
- Добавление или удаление репозиториев YUM в дистрибутивах Linux на базе RPM.
- Если требуется обновить существующее определение репозитория, используйте ini_file.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| async boolean |
| Если установлено значение yes, Yum будет загружать пакеты и метаданные из этого репозитория параллельно, если это возможно. |
| attributes string | Атрибуты, которые должен иметь полученный файл или директория. Для получения поддерживаемых флагов обратитесь к справке man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при выводе команды lsattr. Оператор = предполагается по умолчанию, в противном случае операторы + или - необходимо включить в строку.алиасы: attr | |
| bandwidth - | По умолчанию: 0 | Максимальная доступная пропускная способность сети в байтах/секунду. Используется с опцией throttle. Если throttle — это процент, а bandwidth — 0, то ограничение пропускной способности будет отключено. Если throttle выражен как скорость передачи данных (байты/сек), то этот параметр игнорируется. По умолчанию — 0 (ограничение пропускной способности отключено). |
| baseurl - | URL директории, в которой находится директория 'repodata' репозитория yum. Также может быть списком нескольких URL. Этот, metalink или mirrorlist параметры необходимы, если параметр state установлен в present. | |
| cost - | По умолчанию: 1000 | Относительная стоимость доступа к этому репозиторию. Полезно для взвешивания пакетов одного репозитория по отношению к другим. |
| deltarpm_metadata_percentage - | По умолчанию: 100 | Когда относительный размер метаданных deltarpm по отношению к pkgs больше этого значения, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что вы можете задавать значения больше 100, например, 200 означает, что метаданные должны быть вдвое меньше размера пакетов. Используйте 0 для отключения этой проверки и всегда загружайте метаданные. |
| deltarpm_percentage - | По умолчанию: 75 | Когда относительный размер delta по отношению к pkg больше этого значения, delta не используется. Используйте 0 для отключения обработки delta rpm. В локальных репозиториях (с file:// baseurl) delta rpm отключены по умолчанию. |
| description - | Строка, описывающая репозиторий, читаемая человеком. Этот параметр соответствует свойству "name" в файле репозитория. Этот параметр необходим только если state установлен на present. | |
| enabled boolean |
| Указывает Yum, использовать ли этот репозиторий. |
| enablegroups boolean |
| Определяет, будет ли Yum разрешать использование групп пакетов для этого репозитория. |
| exclude - | Список пакетов, которые нужно исключить из обновлений или установок. Должен быть списком, разделенным пробелами. Разрешены оболочки shell с использованием шаблонов (например, * и ?).Список также может быть обычным массивом YAML. | |
| failovermethod - |
| roundrobin случайным образом выбирает URL из списка URL для начала и переходит через каждый из них при возникновении ошибки соединения с хостом.priority начинается с первого указанного baseurl и читает их последовательно. |
| file - | Имя файла без расширения .repo для сохранения репозитория. По умолчанию используется значение name. | |
| gpgcakey - | URL, указывающий на файл ключа CA в ASCII-armored формате для репозитория. | |
| gpgcheck boolean |
| Указывает Yum, нужно ли проверять подписи GPG пакетов. Значение по умолчанию не задано. Если значение не установлено, используется системное значение из /etc/yum.conf или системное значение по умолчанию no. |
| gpgkey - | URL, указывающий на файл ключа GPG в ASCII-armored формате для репозитория. Также может быть списком нескольких URL. | |
| group string | Имя группы, которой должен принадлежать файл/директория, как передается в chown. | |
| http_caching - |
| Определяет, как Yum взаимодействует с кэшем HTTP-серверов. all означает, что весь HTTP-загрузка будет кешироваться.packages означает, что кешируются только загрузки пакетов RPM (но не метаданных репозитория).none означает, что HTTP-загрузки не будут кешироваться. |
| include - | Включить внешний конфигурационный файл. Поддерживаются как локальные пути, так и URL. Файл конфигурации будет вставлен на позицию строки include=. Включенные файлы могут содержать дополнительные строки include. Yum завершит работу с ошибкой, если будет обнаружен цикл включения. | |
| includepkgs - | Список пакетов, которые вы хотите использовать только из репозитория. Должен быть списком, разделенным пробелами. Разрешены оболочки shell с использованием шаблонов (например, * и ?). Поддерживаются переменные подстановки (например, $releasever).Список также может быть обычным массивом YAML. | |
| ip_resolve - |
| Определяет, как Yum разрешает имена хостов. 4 или IPv4 - разрешать только адреса IPv4.6 или IPv6 - разрешать только адреса IPv6. |
| keepalive boolean |
| Указывает Yum, использовать ли HTTP/1.1 keepalive для этого репозитория. Это может улучшить скорость передачи данных, используя одно подключение для загрузки нескольких файлов из репозитория. |
| keepcache - |
| Либо 1, либо 0. Определяет, сохраняет ли Yum кэш заголовков и пакетов после успешной установки. |
| metadata_expire - | По умолчанию: 21600 | Время (в секундах), по истечении которого метаданные устареют. Значение по умолчанию — 6 часов. |
| metadata_expire_filter - |
| Фильтруйте время 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 - | Указывает URL файла metalink для repomd.xml, список зеркал для всего репозитория генерируется путём преобразования зеркал файла repomd.xml в baseurl. Этот, baseurl или mirrorlist параметры необходимы, если state задан как present. | |
| mirrorlist - | Указывает URL файла, содержащего список baseurl. Этот, baseurl или metalink параметры необходимы, если state задан как present. | |
| mirrorlist_expire - | По умолчанию: 21600 | Время (в секундах), по истечении которого кэшированный локально mirrorlist истечёт. Значение по умолчанию составляет 6 часов. |
| mode string | Права, которые должен иметь результирующий файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически представляют собой восьмеричные числа. Вы должны либо добавить ведущую цифру 0, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') чтобы Ansible получил строку и выполнил собственное преобразование из строки в число.Передача Ansible числа без соблюдения одного из этих правил приведёт к десятичному числу, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим может быть задан как символьный режим (например, u+rwx или u=rw,g=r,o=r). | |
| name - / обязательно | Уникальный идентификатор репозитория. Этот параметр создаёт имя раздела репозитория в файле repo. Этот параметр требуется только в том случае, если state установлен на present или absent. | |
| owner string | Имя пользователя, который должен владеть файлом/каталогом, как это подаётся в chown. | |
| password - | Пароль для использования с именем пользователя для аутентификации по протоколу Basic. | |
| priority - | По умолчанию: 99 | Принудительно упорядочить защиту репозиториев. Значение — целое число от 1 до 99. Этот параметр работает только в том случае, если установлен плагин YUM Priorities. |
| protect boolean |
| Защитить пакеты от обновлений из других репозиториев. |
| proxy - | URL прокси-сервера, который должен использовать yum. Установите в _none_ для отключения глобальной настройки прокси. | |
| proxy_password - | Пароль для этого прокси. | |
| proxy_username - | Имя пользователя для использования с прокси. | |
| repo_gpgcheck boolean |
| Это сообщает yum, должен ли он выполнять проверку подписи GPG на repodata из этого репозитория. |
| reposdir - | По умолчанию: "/etc/yum.repos.d" | Каталог, в котором будут храниться файлы .repo. |
| retries - | По умолчанию: 10 | Установите количество попыток повторного выполнения любой попытки извлечения файла до возврата ошибки. Установка значения 0 заставляет yum пытаться бесконечно. |
| s3_enabled boolean |
| Включает поддержку репозиториев S3. Этот параметр работает только в том случае, если установлен плагин YUM S3. |
| selevel string | По умолчанию: "s0" | Часть контекста файла 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 - | Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов. псевдонимы: ca_cert | |
| sslclientcert - | Путь к SSL-сертификату клиента, который yum должен использовать для подключения к репозиториям/удаленным сайтам. псевдонимы: client_cert | |
| sslclientkey - | Путь к закрытому ключу SSL-клиента, который yum должен использовать для подключения к репозиториям/удаленным сайтам. псевдонимы: client_key | |
| sslverify boolean |
| Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты. псевдонимы: validate_certs |
| state - |
| Состояние файла репозитория. |
| throttle - | Включить ограничение пропускной способности для загрузок. Этот параметр может быть выражен как абсолютная скорость передачи данных в байтах/сек. К значению пропускной способности можно добавить префикс СИ (k, M или G). | |
| timeout - | Значение по умолчанию: 30 | Количество секунд ожидания подключения перед истечением времени ожидания. |
| ui_repoid_vars - | Значение по умолчанию: "releasever basearch" | При отображении идентификатора репозитория добавьте эти переменные yum к строке, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (если найдены). |
| unsafe_writes boolean |
| Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто работают неправильно, что препятствует этому. Одним из примеров являются файлы, смонтированные с помощью docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным образом. Этот параметр позволяет Ansible переключаться на небезопасные методы обновления файлов, когда атомарные операции терпят неудачу (однако это не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. |
| username - | Имя пользователя для использования при базовой аутентификации с репозиторием или любым URL. |
Примечания
Примечание
- Все комментарии будут удалены при модификации существующего файла репозитория.
- Порядок разделов сохраняется в существующем файле репозитория.
- Параметры в разделе упорядочены алфавитно в существующем файле репозитория.
- Файл репозитория будет автоматически удален, если он не содержит репозиторий.
- При удалении репозитория следует учитывать, что кеш метаданных может оставаться на диске до тех пор, пока вы не выполните
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 строка | success | имя репозитория Пример: epel |
| state строка | success | состояние целевого объекта после выполнения Пример: present |
Статус
- Этот модуль гарантированно будет иметь обратную совместимость в будущих изменениях интерфейса. [stableinterface]
- Этот модуль поддерживается основной командой Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке данного модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat: Red Hat Knowledge Base article.
Авторы
- Jiri Tyr (@jtyr)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/yum_repository_module.html