Найти

Пользовательский поиск

суббота, 10 декабря 2011 г.

Проблема с 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
с последующей попыткой установить пакет из этого репозитория.
Причина происхождения проблемы — отсутствие в вашей системе
публичного GnuPG-ключа репозитория, из которого вы пытаетесь
инсталлировать пакет (который, в свою очередь, подписан данным ключом).
Хеш нужного ключа указывается в тексте ошибки после NO_PUBKEY
(т.е. на месте второго «[..]»). Именно его и надо добавить в
базу apt вашей системы для успешной установки пакета.
Чтобы это сделать, требуется выполнить две команды:

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


Здесь вместо KEY нужно подставить значение того GPG-ключа,
который вы хотите добавить в свою базу. Так, например, если вы получали
ошибку NO_PUBKEY F120156012B83718, вам потребуется выполнить
следующие команды:

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


После успешного экспорта GPG-ключа в свою базу вы можете повторить
попытку установить нужный вам пакет.