вівторок, 11 січня 2011 р.

NO_PUBKEY: як добавити GPG-ключ в базу apt?

При встановленні нових пакунків, або оновлення Ubuntu, за допомогою команд 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 для успішного встановлення.

Для вирішення даної проблеми з NO_PUBKEY необхідно виконати дві команди:

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

Де замість KEY необхідно вставити значення GPG-ключа, який необхідно добавити в базу.

Наприклад:
W: GPG error: http://debian.osdn.org.ua testing Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F

Вирішення проблеми:
gpg --keyserver subkeys.pgp.net --recv 010908312D230C5F
gpg --export --armor 010908312D230C5F | sudo apt-key add -


Джерело: www.nixp.ru