yum_repository – Добавление или удаление репозиториев YUM
Новое в версии 2.1.
Описание
- Добавление или удаление репозиториев YUM в дистрибутивах Linux на основе RPM.
- Если вы хотите обновить существующее определение репозитория, используйте ini_file вместо этого.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| async boolean |
| Если установлено в yes, Yum будет загружать пакеты и метаданные из этого репозитория параллельно, если возможно. |
| attributes string добавлен в 2.3 | Атрибуты, которые должны иметь результирующий файл или каталог. Для получения поддерживаемых флагов обратитесь к справке 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 по сравнению с пакетами больше, чем это значение, метаданные deltarpm не загружаются из репозитория. Обратите внимание, что вы можете задать значения больше, чем 100, поэтому 200 означает, что метаданные должны составлять половину размера пакетов. Используйте 0 для отключения этой проверки и всегда загружайте метаданные. |
| deltarpm_percentage - | Значение по умолчанию: 75 | Когда относительный размер дельты по сравнению с пакетом больше, чем это значение, дельта не используется. Используйте 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, указывающий на файл ASCII-закодированного ключа CA для репозитория. | |
| gpgcheck boolean |
| Указывает Yum, выполнять ли проверку подписи GPG для пакетов. Значение по умолчанию не задано. Если значение не установлено, используется системное значение из /etc/yum.conf или системное значение по умолчанию no. |
| gpgkey - | URL, указывающий на файл ASCII-закодированного ключа GPG для репозитория. Он также может быть списком нескольких URL. | |
| group string | Имя группы, которой должен принадлежать файл/каталог, как это передается в chown. | |
| http_caching - |
| Определяет, как внешние кэши HTTP обрабатывают HTTP-загрузки, которые выполняет Yum. 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 строка | Разрешения, которые должен иметь результирующий файл или каталог. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущий ноль, чтобы парсер YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777) либо заключить его в кавычки (например, '644' или '1777') так, чтобы Ansible получил строку и смог выполнить своё преобразование из строки в число.Предоставление Ansible числа без соблюдения одного из этих правил приведёт к десятичному числу, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим может быть задан как символьный режим (например, u+rwx или u=rw,g=r,o=r). | |
| name - / обязательно | Уникальный идентификатор репозитория. Этот параметр формирует имя раздела репозитория в файле репозитория. Этот параметр обязателен только если state задан как present или absent. | |
| owner строка | Имя пользователя, который должен владеть файлом/каталогом, как если бы он был передан в chown. | |
| 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, будет использоваться часть политики level, если она доступна. |
| serole строка | Часть контекста файла SELinux, определяющая роль. При установке в _default, будет использоваться часть политики role, если она доступна. | |
| setype строка | Часть контекста файла SELinux, определяющая тип. При установке в _default, будет использоваться часть политики type, если она доступна. | |
| seuser строка | Часть контекста файла SELinux, определяющая пользователя. По умолчанию используется политика system, где это применимо.При установке в _default, будет использоваться часть политики user, если она доступна. | |
| skip_if_unavailable логическое |
| Если установлено в yes, yum продолжит работу, если этот репозиторий не может быть достигнут по какой-либо причине. Это нужно устанавливать осторожно, так как все репозитории просматриваются для каждой команды. |
| ssl_check_cert_permissions логическое |
| Указывает, нужно ли 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 логическое |
| Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты. псевдонимы: validate_certs |
| state - |
| Состояние файла репозитория. |
| throttle - | Включить ограничение пропускной способности для загрузок. Этот параметр может быть выражен как абсолютная скорость передачи данных в байтах/сек. К значению пропускной способности может быть добавлен префикс СИ (к, М или Г). | |
| timeout - | По умолчанию: 30 | Количество секунд ожидания подключения перед истечением времени ожидания. |
| ui_repoid_vars - | По умолчанию: "releasever basearch" | При отображении идентификатора репозитория добавьте эти переменные yum к строке, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (и найдены). |
| unsafe_writes boolean added in 2.2 |
| Влияние на использование атомных операций для предотвращения повреждения данных или несогласованных чтений из целевого файла. По умолчанию этот модуль использует атомные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настраиваются или просто работают неправильно, что препятствует этому. Одним из примеров являются файлы, смонтированные 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 string | success | имя репозитория Пример: epel |
| state string | success | состояние целевого объекта после выполнения Пример: present |
Статус
- Этот модуль гарантированно не будет иметь изменений интерфейса, несовместимых с предыдущими версиями, в дальнейшем. [stableinterface]
- Этот модуль поддерживается Командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно получить в этой статье базы знаний Red Hat.
Авторы
- 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.8/modules/yum_repository_module.html