Принудительное обновление GPG-ключей DNF

Вопрос или проблема

Я использую dnf-plugin-local, чтобы ускорить загрузку DNF для моих виртуальных машин. Это работает очень хорошо, но только для загрузки пакетов из репозиториев Fedora. Пакеты, загруженные из сторонних репозиториев, сталкиваются с проблемами GPG, потому что обычно GPG-ключи импортируются из репозитория при первой установке пакета. Но поскольку сторонние пакеты поступают из локального кэш-репозитория, никакой GPG-ключ не импортируется (так как ключа нет на моем локальном компьютере).

Существует ли команда, которую я могу выполнить для DNF, чтобы заставить его получить и импортировать все GPG-ключи, указанные в настройках репозитория, чтобы у меня были GPG-ключи на месте, когда DNF получает сторонние пакеты из локального репозитория?

После изучения исходного кода DNF я пришел к выводу, что такой функциональности не существует. Поэтому я создал её, изменив как dnf, так и dnf-plugins-core. Как только эти PR будут объединены в соответствующие ветки и выпущены, следующая команда позволит загрузить и импортировать GPG-ключи в базу данных RPM, не выполняя операцию установки пакета:

dnf config-manager --import-gpg-keys <repo>

или

dnf config-manager --import-gpg-keys --all

Ответ или решение

Для решения проблемы с GPG-ключами при использовании DNF и локального кэш-репозитория для третьих сторон, существует необходимость вручную импортировать GPG-ключи, так как они не будут автоматически загружены при загрузке пакетов из локального кэша.

К сожалению, изначально в DNF не было функциональности для принудительного обновления GPG-ключей из репозитория, что может привести к проблемам с проверкой подписи пакетов. Однако, после изучения исходного кода DNF, я понял, что можно добавить такую функциональность. В результате были подготовлены и отправлены на рассмотрение PR в репозитории DNF и dnf-plugins-core. После их слияния в основную ветку и выхода релиза, можно будет использовать следующие команды для импорта GPG-ключей:

  1. Чтобы импортировать GPG-ключи из конкретного репозитория:
dnf config-manager --import-gpg-keys <repo>
  1. Чтобы импортировать GPG-ключи из всех настроенных репозиториев:
dnf config-manager --import-gpg-keys --all

Эти команды позволят вам загружать и импортировать GPG-ключи в базу данных RPM, что улучшит безопасность и стабилизирует процесс установки пакетов из локального хранилища.

Обратите внимание, что вам необходимо следить за обновлениями в DNF и dnf-plugins-core, чтобы воспользоваться данной функциональностью, как только она станет доступной.

Оцените материал
Добавить комментарий

Капча загружается...