Іноді буває, що додаючи якийсь новий репозиторій, для установки потрібної вам програми, в Терміналі вивалюється повідомлення про помилку типу: «W: GPG error: [..] Release: The following signatures could not be verified because the public key is not available : NO_PUBKEY ... »Відбувається це через те, що у вашій системі відсутній публічний ключ, який підтверджує безпеку використання даної програми. Іншими словами - цей ключ є цифровим підписом або щось на зразок ключем-ліцензією, який показує вашій системі, що все ОК і софт абсолютно легальний і безпечний! Так як же вийти з цієї ситуації?
Хеш потрібного вам ключа вказується в тексті помилки відразу після NO_PUBKEY. Саме цей текст нам буде потрібен для вирішення даної проблеми.
Виконаємо в Терміналі черзі дві команди:
gpg --keyserver subkeys.pgp.net --recv KEY
gpg --export --armor KEY | sudo apt-key add -
gpg --keyserver keyserver.ubuntu.com --recv KEY
gpg --export --armor KEY | sudo apt-key add -
Замість слова KEY ми повинні вписати той GPG-ключ, який був зазначений в тексті про помилку. Якщо в тексті було вказано наступний відсутній ключ NO_PUBKEY F140130712B83898. то наші команди повинні мати ось такий вигляд:
gpg --keyserver subkeys.pgp.net --recv F140130712B83898
gpg --export --armor F140130712B83898 | sudo apt-key add -
gpg --keyserver keyserver.ubuntu.com --recv F140130712B83898
gpg --export --armor F140130712B83898 | sudo apt-key add -
Після цих нехитрих дій, знову спробуйте встановити потрібну вам програму.
"... є спосіб простіше і елегантніше, може бути знадобиться
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 keyserver.ubuntu.com `sudo aptitude update 2> 1 | grep -o '[0-9A-Z] \ $' | xargs`