Программы
Решение проблемы с недостающими GPG ключами (NO_PUBKEY) при установке с помощью apt-get

Решение проблемы с недостающими GPG ключами (NO_PUBKEY) при установке с помощью apt-get

При установке пакетов в дистрибутивах, основанных на Debian, и использующих пакетный менеджер apt, могут возникать ошибки, например, проверки подлинности пакетов.

При установке пакетов в дистрибутивах, основанных на Debian, и использующих пакетный менеджер apt, могут возникать ошибки, например, проверки подлинности пакетов.

Предположим, вы добавили сторонний репозиторий в /etc/apt/sources.list, после чего решили установить оттуда пакет. В результате можно получить такую ошибку:

W: GPG error: ...
Release: The following signatures couldn’t be verified because
the public key is not available: NO_PUBKEY F9A2F76A9D1A0061

С русской локализацией это будет выглядеть так:

W: Ошибка: ...
Release: Следующие подписи не могут быть проверены,
так как недоступен открытый ключ: NO_PUBKEY F9A2F76A9D1A0061

Для того, чтобы её решить, надо добавить публичный GnuPG ключ репозитория в вашу систему – тогда пакетный менеджер будет знать, что подписанный соответствующим приватным ключом пакет, от доверенного лица:

gpg --keyserver subkeys.pgp.net --recv F9A2F76A9D1A0061
gpg --export --armor F9A2F76A9D1A0061 | sudo apt-key add -

F9A2F76A9D1A0061 – это хеш ключа, который не смог найти установщик пакетов.

Альтренативный вариант – использовать утилиту apt-key:

sudo apt-key adv \
  --recv-keys \
  --keyserver keyserver.ubuntu.com \
  F9A2F76A9D1A0061

Или же можно установить сразу все недостающие ключи:

sudo apt-key adv \
  --recv-keys \
  --keyserver keyserver.ubuntu.com \
  $(sudo apt-get update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs)

Если же вы находитесь за proxy, то нужно это указать в команде, добавив ключ --keyserver-options http-proxy="адрес:порт".

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS