#Что означает ошибка
Public key for package is not installed
Ошибка GPG check FAILED, Public key for ... is not installed или Failed to import GPG key в CentOS Stream возникает, когда в системе отсутствует нужный публичный ключ репозитория или ключ изменился (смена подписи, истёк срок). Частый случай — после установки нового релиза Stream или сторонних репозиториев.
Не отключайте проверку подписей (gpgcheck=0) как постоянное решение.
Импортируйте ключ из официального источника.
Ключ репозитория не установлен либо сменился. Импортируйте актуальный ключ официального репозитория и повторите установку.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет ключа | Новый репозиторий. | rpm --import. |
| Ключ сменился | Новый релиз. | Обновите centos-gpg-keys. |
| Повреждён пакет | Загрузка. | dnf clean all. |
| Сторонний репозиторий | Нет ключа. | Добавьте. |
#Пошаговое решение
- Посмотрите, какой ключ нуженВ терминале CentOS Stream выполните
grep -R "^gpgkey=" /etc/yum.repos.d/и запишите URL ключа, а также имя репозитория из ошибки DNF. Сверьте URL и полный отпечаток с официальным источником дистрибутива или поставщика. Не импортируйте ключ, полученный из случайной ссылки или общего сервера ключей. Если источник сторонний, сначала проверьте, нужен ли он вообще. - Установите centos-gpg-keysЕсли проблема касается официальных репозиториев CentOS Stream, проверьте
rpm -q centos-gpg-keysи состояние конфигурацииdnf repolist. Если пакет существует и источники доступны, администратор может переустановить его командойsudo dnf reinstall centos-gpg-keysтолько после проверки плана. При недоступности репозиториев скачивать RPM допустимо лишь с официального сервера с независимой проверкой подписи. Не используйте--nogpgcheckради исправления ключа. - Импортируйте ключИмпорт
rpm --importнеобходим лишь при подтверждённом подлинном ключе. Убедитесь, что файл ключа получен по официальной инструкции для вашего CentOS Stream, и сравните его полный отпечаток с опубликованным издателем. Только тогда администратор может выполнитьsudo rpm --import /путь/к/проверенному/ключу, заменив пример фактическим локальным файлом. После импорта повторитеsudo dnf makecache --refresh; если ошибка осталась, не импортируйте новые неизвестные ключи. - Сверьте отпечатокПолучив файл официального ключа CentOS Stream, сравните его полный криптографический отпечаток с опубликованным на официальном сайте проекта, а не только короткий ID в сообщении ошибки. Проверить локальный файл можно средствами GPG, если пакет установлен:
gpg --show-keys --with-fingerprint /путь/к/ключу. При несовпадении не импортируйте ключ и не отключайтеgpgcheck; проверьте адрес скачивания и версию репозитория. - Очистите кэшВ Linux откройте «Терминал» (в большинстве настольных сред Ctrl+Alt+T); на удалённом сервере войдите по SSH только при наличии прав администратора и запасного доступа. Сначала выполните команды диагностики в блоке ниже и проверьте вывод. Перед командами, изменяющими загрузчик, сеть или файлы, сохраните копию данных и убедитесь, что выбран нужный диск/раздел.
- Проверка ключевого пакета и текущего выпуска CentOS StreamLinux · Терминал (Bash)КомандаПроверка ключевого пакета и текущего выпуска CentOS Stream. Установка с
-yизменяет пакеты и не должна автоматически подтверждаться до проверки опубликованного отпечатка ключа.rpm -q centos-gpg-keyscat /etc/centos-release
#Проверка
Посмотрите установленные ключи: rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'. Какой ключ нужен: grep -R gpgkey /etc/yum.repos.d/. Файлы ключей лежат в /etc/pki/rpm-gpg/. Убедитесь, что пакет centos-gpg-keys установлен: rpm -q centos-gpg-keys. Проверьте время и сеть (timedatectl).
#Импорт ключа
Импорт из системного файла: sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial. Обновление пакета с ключами: sudo dnf install -y centos-gpg-keys centos-stream-repos (если dnf работает; иначе скачайте rpm с ). Для стороннего репозитория импортируйте ключ по его URL: sudo rpm --import https://example.com/RPM-GPG-KEY. Сверьте отпечаток с официальным сайтом проекта.
#Дальнейшие шаги
Выполните sudo dnf clean all && sudo dnf makecache. При запросе подтвердите импорт ключа (y) только после сверки отпечатка. Если ключ изменился на стороне проекта, обновите пакет centos-gpg-keys, затем повторите установку. Для устаревших образов (CentOS Stream 8 — EOL) перейдите на Stream 9. Для офлайн-установок положите ключ в /etc/pki/rpm-gpg/ и укажите gpgkey=file:///etc/pki/rpm-gpg/... в .repo.
grep -R "^gpgkey=" /etc/yum.repos.d/rpm -q centos-gpg-keys