
При добавлении стороннего репозитория, в целях безопасности в ОС Ubuntu, принято добавлять ключ репозитория. Очень часто на сайтах и блогах выкладывают ссылки на репозитории, но ссылка на ключ не приводится. Из-за чего возникают некрасивые надписи и различные ошибки в конце процесса обновления пакетов.
В статье представлен способ поиска недостающих ключей.
Если после обновления у Вас на экране возникает ошибка примерно следующего содержания:
W: Ошибка: http://wine.budgetdedicated.com jaunty Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 58403026387EE263
W: Вы можете запустить 'apt-get update' для исправления этих ошибок
В данном примере не найден открытый ключ репозитория Wine. Адрес репозитория http://wine.budgetdedicated.com, публичный ключ 58403026387EE263. В Вашем случае адрес и код ключа могут отличаться.
Для решения сложившейся проблемы нам потребуется:
- Проверить упоминание ключа на официальных серверах. Это требуется для подтверждения подлинности репозитория.
Серверы расположены в порядке значимости, поэтому нахождение ключа хотя бы на одном сервере является положительным результатом.
# gpg --keyserver keyserver.ubuntu.com --recv 58403026387EE263
# gpg --keyserver pgp.mit.edu --recv 58403026387EE263
# gpg --keyserver keyserver.pgp.com --recv 58403026387EE263
В ответ на экране должно отобразиться следующее: gpg: запрашиваю ключ 387EE263 с hkp сервера keyserver.ubuntu.com
gpg: ключ 387EE263: "Scott Ritchie " не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
Эти строки говорят , что ключ найден и подлинность репозитория подтверждена. В общем случае, информация выведенная на экран в дальнейшем не пригодится. Об особых случаях будет рассказано ниже. - Следующим этапом добавляем недостающий ключ репозитория:
# gpg --export --armor 58403026387EE263 | sudo apt-key add -
В особых случаях добавить ключ репозитория в операционную систему будет эффективнее командой:
# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 387EE263
где используется имя key-сервера нашедшего ключ и число отмеченное в пункте №1.
В результате всех вышеизложенных действий проблема поиска недостающего ключа репозитория исчезнет навсегда.
8 Ноябрь, 21:50
Спасибо автору, статья помогла.
16 Ноябрь, 22:57
Спасибо, почитал, попробовал. прокатило
1 Апрель, 09:17
Спасибо. Помогло.
21 Май, 21:00
Спасибо, очень пригодилось. Очень хороший блог.С удовольствием читаю.
22 Май, 11:01
если надо найти недостающие ключи и попытатцо импортировать их, то:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o ‘[0-9A-Z]\{16\}$’ | xargs`
26 Май, 15:32
О круто! Не знал, спасибо.
Команда автоматически ищет недостающие ключи в системе и добавляет их.
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o ‘[0-9A-Z]\{16\}$’ | xargs`