Программы
Решение проблемы с недостающими GPG ключами (NO_PUBKEY) при установке с помощью apt-get

Решение проблемы с недостающими GPG ключами (NO_PUBKEY) при установке с помощью apt-get

При установке пакетов в дистрибутивах, основанных на Debian, и использующих пакетный менеджер apt, могут возникать ошибки, например, проверки подлинности пакетов.

При установке пакетов в дистрибутивах, основанных на Debian, и использующих пакетный менеджер apt, могут возникать ошибки, например, проверки подлинности пакетов.

Предположим, вы добавили сторонний репозиторий в /etc/apt/sources.list, после чего решили установить оттуда пакет. В результате можно получить такую ошибку:

W: GPG error: ...
Release: The following signatures couldn’t be verified because
the public key is not available: NO_PUBKEY F9A2F76A9D1A0061

С русской локализацией это будет выглядеть так:

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

Для того, чтобы её решить, надо добавить публичный GnuPG ключ репозитория в вашу систему – тогда пакетный менеджер будет знать, что подписанный соответствующим приватным ключом пакет, от доверенного лица:

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

F9A2F76A9D1A0061 – это хеш ключа, который не смог найти установщик пакетов.

Альтренативный вариант – использовать утилиту apt-key:

sudo apt-key adv \
  --recv-keys \
  --keyserver keyserver.ubuntu.com \
  F9A2F76A9D1A0061

Или же можно установить сразу все недостающие ключи:

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

Если же вы находитесь за proxy, то нужно это указать в команде, добавив ключ --keyserver-options http-proxy="адрес:порт".

Также может быть вам интересно:

Начинается Hacktoberfest 2018!

Появился шанс помочь открытому программному обеспечению... И получить футболку!

Читать »

Парадигмы автомобиля и часов в программировании

Бывает, что сложно понять, вырос ли человек в программировании. Вот ещё один качественный признак

Читать »
Фото Как сделать свою middleware в Django (с примерами)

Как сделать свою middleware в Django (с примерами)

Middleware или "промежуточное программное обеспечение" - элегантный способ установить общие правила обработки запросов и ответов приложения. Давайте напишем парочку middleware, чтобы понять, как они работают.

Фото Настройка журналирования (логирования) в Python с примерами

Настройка журналирования (логирования) в Python с примерами

Во время работы программы часто нужно сохранять некоторые важные записи о процессе выполнения команды. В Python есть довольно мощный модуль для работы с логами - давайте разберёмся с тем, как его использовать.

Фото Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Исследователи сумели пройти code-review с реквестами в ядро Linux, заведомо содержащими добавление уязвимостей.

Фото Маленькая книга о Go (golang)

Маленькая книга о Go (golang)

Маленькая книга о Go распространяется под лицензией Attribution-NonCommercial-ShareAlike 4.0 International license. Вы не должны платить за эту книгу.

Фото И снова sudo, и снова "решето"

И снова sudo, и снова "решето"

В утилите sudo была исправлена очередная уязвимость.

Фото О многозадачности и планировщике задач (шедулер)

О многозадачности и планировщике задач (шедулер)

Небольшой экскурс в проблемы многозадачности и реализации планировщиков.

Фото Важна ли Операционная Система для программиста?

Важна ли Операционная Система для программиста?

Влияет ли выбор операционной системы на возможности программиста? Какую ОС выбрать конкретному разработчику?

Фото Из Golang уберут термины whitelist/blacklist и master/slave

Из Golang уберут термины whitelist/blacklist и master/slave

На самом деле, это заметят только разработчики языка и встроенных инструментов, но почему бы об этом не написать?