#Что означает ошибка
Error: GPG check FAILED
GPG check FAILED / Public key for ... is not installed / GPG key at file:///etc/pki/rpm-gpg/... is not a valid key в AlmaLinux означают, что dnf не может подтвердить подпись пакета. В 2023–2024 годах менялись ключи подписи AlmaLinux, и на старых установках нужно обновить ключи.
Не отключайте gpgcheck.
Импортируйте официальный ключ.
Ошибка означает, что подпись пакета не проверена: нет ключа репозитория или он изменился. Импортируйте официальный ключ AlmaLinux и повторите.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет ключа | Новая установка. | rpm --import. |
| Ключ сменился | Обновление репозитория. | Обновите пакет releasever. |
| Повреждён пакет | Загрузка. | dnf clean all. |
| Сторонний репозиторий | Без ключа. | Добавьте ключ. |
#Пошаговое решение
- Проверьте установленные ключиНа AlmaLinux откройте терминал или подключитесь по SSH как администратор. Выполните
cat /etc/os-releaseи запишитеVERSION_ID(ветка 8, 9 или 10). Затемrpm -q gpg-pubkeyпокажет уже импортированные ключи, аsudo dnf repolist -v— источник пакета, для которого появилась ошибка. Скопируйте точный текстGPG check FAILED, название пакета и URL репозитория. Не импортируйте ключ из случайного письма или форума и не выключайтеgpgcheck. - Импортируйте ключ AlmaLinux вашей версииСначала убедитесь, что ошибка относится к официальному репозиторию AlmaLinux, а не к EPEL или стороннему пакету. Выполните
ls -l /etc/pki/rpm-gpg/и найдите файл ключа для своей основной версии; сравните его имя и отпечаток с опубликованными на официальном сайте AlmaLinux. Если оригинальный ключ найден и проверен, администратор выполняетsudo rpm --importс реальным полным путём к файлу (в команде нет универсального имени для всех версий). Если нужного файла нет или отпечаток не совпадает, остановитесь и получите ключ только из проверенного официального источника. - Установите almalinux-gpg-keysПроверьте установленные пакеты репозиториев через
rpm -q almalinux-release almalinux-repos almalinux-gpg-keys. Если ключ подтверждён и доступен исправный официальный репозиторий, выполнитеsudo dnf install almalinux-gpg-keys, прочитав план транзакции; отсутствие пакета или повторный отказ подписи — причина обратиться к официальной инструкции по восстановлению доверия. Не используйте--nogpgcheck: это устраняет проверку подлинности как раз в ситуации, когда ей нельзя доверять. - Обновите пакеты репозиториевПосле восстановления правильного ключа и списка официальных репозиториев запустите
sudo dnf check-update. Если ошибка подписи больше не появляется, обновите пакеты управления репозиториями черезsudo dnf upgrade almalinux-release almalinux-repos almalinux-gpg-keys(только существующие в вашем выпуске). Изучите список изменений и не отключайте проверку ключей; на работающем сервере заранее сделайте резервную копию и запланируйте окно обслуживания. Если ошибка осталась только в стороннем репозитории, найдите официальный ключ именно его владельца или временно отключите этот репозиторий. - Очистите кэшПосле подтверждённого исправления доверия выполните
sudo dnf clean metadata, затемsudo dnf makecache --refreshи проверьте вывод. Ожидаемый результат — успешная загрузка метаданных безGPG check FAILED; затем пробная проверкаsudo dnf check-updateможет вернуть ненулевой код, когда доступны обновления, это не обязательно ошибка. Если импортированный ключ всё ещё не соответствует пакету, сохраните идентификатор репозитория и отпечаток ключа, остановитесь и обратитесь к его официальному сопровождению. - Проверка версии пакетов и репозиториевLinux · Терминал (Bash)КомандаНужен sudoПроверка версии пакетов и репозиториев. Импорт ключа фиксированного выпуска AlmaLinux 9 недопустим на другой версии, а любой ключ нужно сверять с официальным отпечатком.
rpm -q almalinux-gpg-keys almalinux-repossudo dnf repolist -v
#Импорт ключей
Проверьте установленные: rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SUMMARY}\n'. Импортируйте ключ вашей версии: sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 (для 8 — -8, для 10 — -10). Если файлов нет, установите пакет: sudo dnf install almalinux-gpg-keys, а при невозможности скачайте с файл RPM-GPG-KEY-AlmaLinux-* и импортируйте.
#Если ключ изменился
Если ошибка подписи возникла при обновлении almalinux-release, almalinux-gpg-keys или almalinux-repos, не используйте --nogpgcheck как обход. Установите версию AlmaLinux, определите источник RPM, получите ключи и пакеты восстановления доверия с официального сайта и сверяйте их опубликованные отпечатки и контрольные суммы. Только после проверки источника повторите обычную транзакцию dnf с включённой проверкой. Для сторонних репозиториев нужны отдельные ключи их владельцев.
#Сторонние репозитории
Для EPEL: sudo dnf install epel-release и sudo rpm --import https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9. Для остальных используйте ключ проекта и проверяйте отпечаток. В .repo убедитесь, что gpgcheck=1 и путь gpgkey= существует. Часы системы должны быть верны. Ошибка not a valid key — файл повреждён или это не PGP-ключ: скачайте заново, проверьте file и gpg --show-keys.
rpm -q gpg-pubkeyrpm -q almalinux-release almalinux-repos almalinux-gpg-keyssudo dnf repolist -v