При обновлении кэша apt менеджера deb-пакетов в Linux (дистрибутивы Ubuntu или Debian) может появится ошибка:
$ apt-get update
W: There is no public key available for the following key IDs: 467B942D3A79BD29 W: GPG error: https://repo.mysql.com/apt/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
Чаще всего это происходит после добавления нового репозитория в /etc/apt/sources.list.
Ошибка указывает на то, что в вашем ОС Linux отсутствует публичного GnuPG ключ репозитория, из которого вы пытаетесь установить пакет. Хэш ключа указан непосредсвенно в ошибке. В нашем примере он указан: NO_PUBKEY 467B942D3A79BD29
.
Вам нужно добавить этот ключ в базу apt.
В Ubuntu вы можете скачать ключ с сервера ключей:
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
В этом примере видно, что это ключ для MySQL.
Выведите список ключей, и проверьте что новый ключ был добавлен:
$ apt-key list
В Debian можно установить пакет со всеми ключами, использующимися для подписи всех файлов Release:
$ apt-get install debian-archive-keyring
В моем случае появилась ошибка при установке пакета SQL Server на Ubuntu:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF W: GPG error: https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF
Чтобы установить ключи Microsoft, выполните:
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg