Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?

При установке пакетов в Ubuntu Linux, например, с помощью команды apt-get иногда возникает ошибка вида «W: GPG error: [..] Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY [..]». Обычно такая ситуация возникает после добавления нового репозитория в /etc/apt/sources.list с последующей попыткой установить пакет из этого репозитория.

есть способ проще и элегантнее, возможно пригодится

sudo apt-get update

дождитесь строк типа

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

F9A2F76A9D1A0061 — это КЛЮЧ, он разный для разных репозиториев

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com КЛЮЧ

если у вас прокси в сети, то

sudo apt-key adv --recv-keys  --keyserver-options http-proxy=«адрес_прокси: порт» --keyserver keyserver.ubuntu.com КЛЮЧ

я нашёл однострочник! который ставит недостающие ключи

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

Last updated