yum_repository - Добавление или удаление репозиториев YUM
В версии 2.1.
Обзор
- Добавление или удаление репозиториев YUM в дистрибутивах Linux на основе RPM.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| async bool |
| Если установлено значение yes, Yum загрузит пакеты и метаданные из этого репозитория параллельно, если это возможно. |
| attributes (добавлено в 2.3) | Атрибуты, которые должен иметь файл или каталог. Чтобы узнать поддерживаемые флаги, обратитесь к странице руководства для 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 | Строка, удобочитаемая для человека, описывающая репозиторий. Этот параметр требуется только в том случае, если state установлено на present. | |
| enabled bool |
| Указывает yum, использовать ли этот репозиторий. |
| enablegroups bool |
| Определяет, позволит ли yum использовать группы пакетов для этого репозитория. |
| exclude | Список пакетов, которые нужно исключить из обновлений или установок. Это должен быть список, разделенный пробелами. Разрешены оболочки shell с подстановкой (например, * и ?).Список также может быть обычным массивом YAML. | |
| failovermethod |
| roundrobin случайным образом выбирает URL из списка URL-адресов для начала и переходит по каждому из них, когда возникает ошибка при контакте с хостом.priority начинается с первого указанного baseurl и последовательно читает их. |
| file | Имя файла без расширения .repo для сохранения репозитория. По умолчанию используется значение параметра name. | |
| gpgcakey | URL, указывающий на файл ключа CA в формате ASCII-armored для репозитория. | |
| gpgcheck bool |
| Указывает yum, нужно ли ему выполнять проверку подписи GPG для пакетов. |
| gpgkey | URL, указывающий на файл ключа GPG в формате ASCII-armored для репозитория. Он также может быть списком нескольких URL-адресов. | |
| group | Имя группы, которая должна владеть файлом/каталогом, как это передается в chown. | |
| http_caching |
| Определяет, как верхним уровням HTTP-кешей будет предписано обрабатывать любые HTTP-загрузки, которые выполняет Yum. all означает, что все HTTP-загрузки должны кэшироваться.packages означает, что должны кэшироваться только загрузки пакетов RPM (но не загрузки метаданных репозитория).none означает, что никакие HTTP-загрузки не должны кэшироваться. |
| include | Включить внешний файл конфигурации. Поддерживаются как локальный путь, так и URL. Файл конфигурации будет вставлен в позицию строки include=. Включенные файлы могут содержать дополнительные строки включения. Yum завершится с ошибкой, если будет обнаружен цикл включения. | |
| includepkgs | Список пакетов, которые вы хотите использовать только из репозитория. Это должен быть список, разделенный пробелами. Разрешены оболочки shell с подстановкой (например, * и ?). Подстановки переменных (например, $releasever) соблюдаются здесь.Список также может быть обычным массивом YAML. | |
| ip_resolve |
| Определяет, как yum разрешает имена хостов. 4 или IPv4 - разрешить только адреса IPv4.6 или IPv6 - разрешить только адреса IPv6. |
| keepalive bool |
| Указывает 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' или '0644') , чтобы 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 bool |
| Защита пакетов от обновлений из других репозиториев. |
| proxy | URL-адрес прокси-сервера, который должен использовать yum. Установите значение _none_, чтобы отключить глобальную настройку прокси. | |
| proxy_password | Имя пользователя для использования с прокси. | |
| proxy_username | Пароль для этого прокси. | |
| repo_gpgcheck bool |
| Указывает yum, должен ли он выполнять проверку подписи GPG для данных репозитория из этого репозитория. |
| reposdir | По умолчанию: "/etc/yum.repos.d" | Директория, в которой будут храниться файлы .repo. |
| retries | По умолчанию: 10 | Установите количество попыток повторной попытки получения файла перед возвратом ошибки. Установка значения 0 заставит yum пытаться бесконечно. |
| s3_enabled bool |
| Включает поддержку репозиториев 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 bool |
| Если установлено значение yes, yum продолжит работу, если по какой-либо причине невозможно связаться с этим репозиторием. Это следует настраивать осторожно, поскольку все репозитории проверяются для каждого данного команд. |
| ssl_check_cert_permissions bool |
| Указывает, должен ли yum проверять разрешения на путях для сертификатов в репозитории (как удалённом, так и локальном). Если мы не можем прочитать какой-либо из файлов, yum принудительно установит значение skip_if_unavailable в yes. Это особенно полезно для процессов, не имеющих прав root, которые используют yum для репозиториев, имеющих файлы сертификатов клиента, доступные только пользователю root. |
| sslcacert | Путь к каталогу, содержащему базы данных центров сертификации, которые yum должен использовать для проверки SSL-сертификатов. | |
| sslclientcert | Путь к SSL-сертификату клиента, который должен использовать yum для подключения к репозиториям/удалённым сайтам. | |
| sslclientkey | Путь к SSL-ключу клиента, который должен использовать yum для подключения к репозиториям/удалённым сайтам. | |
| sslverify bool |
| Определяет, должен ли yum вообще проверять SSL-сертификаты/хосты. |
| state |
| Состояние файла репозитория. |
| throttle | Включить ограничение пропускной способности для загрузок. Этот параметр может быть выражен как абсолютная скорость передачи данных в байтах/сек. К значению пропускной способности можно добавить префикс СИ (k, M или G). | |
| timeout | По умолчанию: 30 | Количество секунд, которые нужно ждать подключения перед завершением соединения из-за истечения времени ожидания. |
| ui_repoid_vars | По умолчанию: "releasever basearch" | При отображении идентификатора репозитория добавьте эти переменные yum к строке, если они используются в baseurl/etc. Переменные добавляются в указанном порядке (и найдены). |
| unsafe_writes bool (added in 2.2) |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, иногда системы настраиваются или просто повреждаются таким образом, что это не позволяют. Одним из примеров являются файлы, смонтированные в docker, которые не могут быть обновлены атомарно и могут быть выполнены только ненадёжным образом. Этот булев параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных. |
| username | Имя пользователя для использования с аутентификацией по протоколу Basic для репозитория или любого 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, что означает, что разработчики этого модуля гарантируют, что не будут вносить обратные изменения в интерфейс.
Техническое обслуживание
Этот модуль помечен как core, что означает, что его обслуживает Ansible Core Team. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых Ansible Core Team, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/yum_repository_module.html