deb822_repository#
Модуль ansible.builtin.deb822_repository управляет репозиториями в дистрибутивах Linux на базе Debian, используя записи в формате DEB822 (файлы с расширением sources в каталоге /etc/apt/sources.list.d/).
Особенности работы#
Для работы модуля на управляемом узле должен быть установлен пакет python3-debian (python-debian при использовании интерпретатора Python 2).
Этот модуль не обновляет список доступных пакетов автоматически. Для этого используйте возможности модуля apt.
Параметры#
Модуль принимает следующие параметры:
- allow_downgrade_to_insecure#
Установка более старых версий пакетов, которые раньше были доверенными, но теперь не являются таковыми.
Возможные значения:
false– установка запрещена;true– установка разрешена.
- allow_insecure#
Использование недоверенных репозиториев.
Возможные значения:
false– запрещено;true– разрешено.
- allow_weak#
Использование репозиториев, пакеты в которых подписаны ключами, созданными на основе слабых алгоритмов шифрования.
Возможные значения:
false– запрещено;true– разрешено.
- arhchitectures#
Список архитектур, доступных в репозитории.
- by_hash#
Управление поведением менеджера APT при попытке получить индексы.
Возможные значения:
false– загрузка файла индекса по его хорошо известному названию;true– использование контрольной суммы для загрузки индекса.
- check_date#
Должен ли менеджер APT считать время на управляемом узле правильным и, следовательно, выполнять связанные с этим проверки. Например, что время в файле
Releaseне опережает системное.Возможные значения:
false– игнорировать время на управляемом узле;true– учитывать время на управляемом узле.
- check_valid_until#
Проверка поля репозитория
Valid-Until.Возможные значения:
false– проверка выключена, менеджер APT не пытается обнаружить атаки типаreplay;true– проверка включена, то есть менеджер APT проверяет указанное поле.
- components#
Список компонентов репозитория.
Репозиторий Astra Automation предоставляет только один компонент –
main.Репозитории Astra Linux Special Edition 1.8 предоставляют следующие компоненты:
main;contrib;non-free;non-free-firmware.
Примечание
Актуальная информация о компонентах репозиториев Astra Linux Special Edition доступна в статьях Справочного центра:
- date_max_future#
На сколько секунд время в репозитории может опережать системное время управляемого узла.
При превышении указанного значения менеджер APT не будет использовать репозиторий.
- enabled#
Использование репозитория.
Возможные значения:
false– содержимое файла закомментировано и не используется менеджером APT;true– менеджер APT использует содержимое репозитория.
- inrelease_path#
Путь к файлу
InReleaseв репозитории относительно его обычного расположения.
- languages#
Список языков, который менеджер APT использует при загрузке файлов с переводами.
По умолчанию менеджер APT пытается отобразить перевод информации о пакете, используя следующий порядок языков:
environment– язык определяется по значениям переменных окружения. Если перевод для используемого языка существует, он будет использован.en– английский.
Например, пусть значение
languagesзадано следующим образом:# ... languages: - fr # французский - ru # русский
Язык вывода информации о пакетах из репозитория в этом случае определяется по следующему алгоритму:
Если перевод на французский язык существует и загружен, информация о пакете будет выведена на французском языке.
Если перевод на французский язык не существует или не загружен, APT попытается найти перевод на русский язык. Если перевод на русский язык существует и загружен, информация о пакете будет выведена на русском языке.
Если перевод на русский язык не существует или не загружен, APT выведен описание пакета на английском языке.
Подробности см. в руководстве к файлу
apt.conf:man apt.conf
- mode#
Восьмеричное значение режима доступа к файлу, создаваемому в
/etc/apt/sources.list.d/.Значение по умолчанию:
0644.
- name#
Обязательный параметр.
Название репозитория.
Как правило, используется в значении настройки
X-Repolib-Nameпри именовании репозитория и соответствующих ему ключей цифровой подписи:В каталоге
/etc/apt/sources.list.d/создается файл, название которого формируется по шаблону:<name>.sources
Если в значении настройки
signed_byуказана ссылка на загрузку ключа GPG, файл ключа будет сохранен в каталог/etc/apt/keyrings/под указанным названием, а вsources-файл добавлена строка следующего вида:Signed-By: /etc/apt/keyrings/<name>
Подробности см. в секции Примеры.
- pdiffs#
Управление поведением менеджера APT при загрузке индекса.
Возможные значения:
false– загрузка полного индекса;true– загрузка только файлов со списком различий (PDiffs).
Подробности о PDiffs см. в документации Debian.
- signed_by#
Ключ GPG для проверки пакетов из репозитория. Значение может указывать на следующие объекты:
URL:
# ... ansible.builtin.deb822_repository: # ... signed_by: https://www.postgresql.org/media/keys/ACCC4CF8.asc
Полный путь к файлу ключа в локальной файловой системе управляемого узла:
# ... ansible.builtin.deb822_repository: # ... signed_by: /etc/apt/keyrings/nodesources.gpg
Один или несколько отпечатков ключа, хранящихся в файле
trusted.gpgили файлах в каталоге/etc/apt/trusted.gpg.d/:# ... ansible.builtin.deb822_repository: # ... signed_by: 224974DB7FED6DECB7D855EF60B9CD3A083A7A9A
Защищенный (armored) ключ GPG в текстовом виде:
# ... ansible.builtin.deb822_repository: # ... signed_by: | -----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFdDN1ABCADaNd/I3j3tn40deQNgz7hB2NvT+syXe6k4ZmdiEcOfBvFrkS8B hNS67t93etHsxEy7E0qwsZH32bKazMqe9zDwoa3aVImryjh6SHC9lMtW27JPHFeM Srkt9YmH1WMwWcRO6eSY9B3PpazquhnvbammLuUojXRIxkDroy6Fw4UKmUNSRr32 9Ej87jRoR1B2/57Kfp2Y4+vFGGzSvh3AFQpBHq51qsNHALU6+8PjLfIt+5TPvaWR TB+kAZnQZkaIQM2nr1n3oj6ak2RATY/+kjLizgFWzgEfbCrbsyq68UoY5FPBnu4Z E3iDZpaIqwKr0seUC7iA1xM5eHi5kty1oB7HABEBAAG0Ik5Tb2xpZCA8bnNvbGlk LWdwZ0Bub2Rlc291cmNlLmNvbT6JATgEEwECACIFAldDN1ACGwMGCwkIBwMCBhUI AgkKCwQWAgMBAh4BAheAAAoJEC9ZtfmbG+C0y7wH/i4xnab36dtrYW7RZwL8i6Sc NjMx4j9+U1kr/F6YtqWd+JwCbBdar5zRghxPcYEq/qf7MbgAYcs1eSOuTOb7n7+o xUwdH2iCtHhKh3Jr2mRw1ks7BbFZPB5KmkxHaEBfLT4d+I91ZuUdPXJ+0SXs9gzk Dbz65Uhoz3W03aiF8HeL5JNARZFMbHHNVL05U1sTGTCOtu+1c/33f3TulQ/XZ3Y4 hwGCpLe0Tv7g7Lp3iLMZMWYPEa0a7S4u8he5IEJQLd8bE8jltcQvrdr3Fm8kI2Jg BJmUmX4PSfhuTCFaR/yeCt3UoW883bs9LfbTzIx9DJGpRIu8Y0IL3b4sj/GoZVq5 AQ0EV0M3UAEIAKrTaC62ayzqOIPa7nS90BHHck4Z33a2tZF/uof38xNOiyWGhT8u JeFoTTHn5SQq5Ftyu4K3K2fbbpuu/APQF05AaljzVkDGNMW4pSkgOasdysj831cu ssrHX2RYS22wg80k6C/Hwmh5F45faEuNxsV+bPx7oPUrt5n6GMx84vEP3i1+FDBi 0pt/B/QnDFBXki1BGvJ35f5NwDefK8VaInxXP3ZN/WIbtn5dqxppkV/YkO7GiJlp Jlju9rf3kKUIQzKQWxFsbCAPIHoWv7rH9RSxgDithXtG6Yg5R1aeBbJaPNXL9wpJ YBJbiMjkAFaz4B95FOqZm3r7oHugiCGsHX0AEQEAAYkBHwQYAQIACQUCV0M3UAIb DAAKCRAvWbX5mxvgtE/OB/0VN88DR3Y3fuqy7lq/dthkn7Dqm9YXdorZl3L152eE IF882aG8FE3qZdaLGjQO4oShAyNWmRfSGuoH0XERXAI9n0r8m4mDMxE6rtP7tHet y/5M8x3CTyuMgx5GLDaEUvBusnTD+/v/fBMwRK/cZ9du5PSG4R50rtst+oYyC2ao x4I2SgjtF/cY7bECsZDplzatN3gv34PkcdIg8SLHAVlL4N5tzumDeizRspcSyoy2 K2+hwKU4C4+dekLLTg8rjnRROvplV2KtaEk6rxKtIRFDCoQng8wfJuIMrDNKvqZw FRGt7cbvW5MCnuH8MhItOl9Uxp1wHp6gtav/h8Gp6MBa =MARt -----END PGP PUBLIC KEY BLOCK-----
- state#
Состояние файла с описанием репозитория.
Возможные значения:
absent– отсутствует;present– присутствует.
Значение по умолчанию:
present.
- suites#
Набор или список наборов пакетов дистрибутива.
Значение этого параметра может быть задано двумя способами:
Точный путь относительно URI репозитория. В этом случае указанное значение должно завершаться символом
/.Название или версия дистрибутива, например:
1.8_x86-64– Astra Linux Special Edition 1.8;1.7_x86-64– Astra Linux Special Edition 1.7;4.7_arm– Astra Linux Special Edition 4.7;bookworm– основные пакеты Debian Bookworm;bookworm-security– обновления безопасности для Debian Bookworm;noble– Ubuntu Noble Numbat.
Если в наборе не указан путь, должен быть указан хотя бы один компонент.
- targets#
Список целей, которые менеджер APT попытается получить из источника при выполнении команды
update.По умолчанию используется значение, заданное в настройке менеджера APT
Acquire::IndexTargets.Подробности см. в документации менеджера APT.
- trusted#
Уровень доверия к репозиторию.
Возможные значения:
true– считать репозиторий доверенным, то есть не проверять цифровую подпись пакетов;false– использовать ключ GPG для проверки цифровой подписи пакетов.
- types#
Тип пакетов или список типов пакетов, которые менеджер APT должен обрабатывать при работе с репозиторием.
Возможные значения:
deb– DEB-пакеты;deb-src– исходный код.
Значение по умолчанию:
["deb"](только DEB-пакеты).
- uris#
URI или список URI архивов дистрибутива, из которых менеджер APT при необходимости может получить данные.
Возвращаемые значения#
В этом списке указаны только возвращаемые значения, специфичные для модуля ansible.builtin.deb822_repository.
dest– путь к файлу с данными репозитория.Условия: всегда.
key_filename– путь к файлу ключа, используемому для проверки цифровой подписи репозитория.Условия: всегда.
repo– строка с информацией о репозитории.Условия: всегда.
Примеры#
Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.
Репозиторий Astra Linux Special Edition 1.8#
Следующий пример описывает подключение основного репозитория Astra Linux Special Edition 1.8:
---
- name: Репозиторий Astra Linux Special Edition 1.8
ansible.builtin.deb822_repository:
name: astra-linux
components:
- main
- non-free
- contrib
- non-free-firmware
state: present
suites: 1.8_x86-64
types: deb
uris: https://download.astralinux.ru/astra/stable/1.8_x86-64/main-repository/
Репозиторий PostgreSQL#
Следующий пример описывает подключение основного репозитория PostgreSQL:
---
- name: Репозиторий PostgreSQL
ansible.builtin.deb822_repository:
architectures: amd64
components: main
name: pgdg
signed_by: https://www.postgresql.org/media/keys/ACCC4CF8.asc
state: present
suites: bookworm-pgdg
types: deb
uris: https://apt.postgresql.org/pub/repos/apt
В результате выполнения этой задачи в системе происходят следующие изменения:
Файл ключа GPG загружается по указанному URL и сохраняется в каталог
/etc/apt/keyrings/под названиемpgdg.asc.В каталоге
/etc/apt/sources.list.d/создается файлpgdg.sourcesсо следующим содержимым:Components: main X-Repolib-Name: pgdg Signed-By: /etc/apt/keyrings/pgdg.asc Suites: bookworm-pgdg Types: deb URIs: https://apt.postgresql.org/pub/repos/apt