Debian DebianUbuntu NO_PUBKEY

apt update: «The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY»

  • Обновлено
  • Чтение ≈ 2 минуты
  • Нужны права администратора

Краткий ответ

NO_PUBKEY значит, что в системе нет ключа, которым подписан репозиторий (либо ключ устарел). Современный способ: скачать ключ с сайта разработчика репозитория, сохранить в /etc/apt/keyrings/ и указать его в signed-by в файле репозитория. Команда apt-key устарела, не добавляйте ключи вслепую.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло

#Что означает ошибка

NO_PUBKEY
W: GPG error: https://repo.example.com stable InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 1234567890ABCDEF
По-русскиНе удалось проверить подпись репозитория: нет публичного ключа.

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

#Причины и решения

Возможная причинаКак узнатьЧто делать
Ключ репозитория не установленРепозиторий добавлен без ключа.Сообщение содержит идентификатор ключа NO_PUBKEY.Скачайте ключ с официального сайта разработчика.
Ключ у репозитория истёк или сменилсяРазработчик обновил ключ.Ошибка появилась у ранее работавшего репозитория.Загрузите новый ключ с сайта проекта.
Ключ лежит в устаревшем хранилищеИспользуется apt-key и общий trusted.gpg.Предупреждение о том, что apt-key устарел.Переложите ключ в /etc/apt/keyrings/ и добавьте signed-by.
Репозиторий не заслуживает доверия или заброшенНеофициальный репозиторий.Нет официальной инструкции по ключу.Не добавляйте ключ; удалите репозиторий.

#Пошаговое решение

  1. Запомните ID ключаОткройте терминал Debian/Ubuntu и выполните sudo apt update. Запишите точный URL репозитория и полный идентификатор после NO_PUBKEY. Затем найдите официальные инструкции этого поставщика и проверьте полный отпечаток его ключа. Не берите ключ с произвольного сервера только по короткому ID и не добавляйте trusted=yes: это отключает защиту подписи пакетов.
  2. Скачайте ключ в keyringsudo gpg --keyserver keyserver.ubuntu.com --recv-keys 1234567890ABCDEF && sudo gpg --export 1234567890ABCDEF | sudo tee /etc/apt/trusted.gpg.d/репо.gpg >/dev/null.
  3. Обновите спискиВ Ubuntu, Debian или Linux Mint откройте «Терминал» сочетанием Ctrl+Alt+T и введите sudo apt update. При запросе введите пароль пользователя (символы не отображаются). Успех — списки получены без строк E:; предупреждения W: тоже прочитайте. Если ошибка осталась, сохраните адрес репозитория и точную строку сообщения. Команда лишь обновляет сведения о пакетах, не устанавливая их.
  4. Диагностика: сначала выявите точный репозиторий и его ошибку подписи
    Linux · Терминал (Bash)КомандаНужен sudo
    Диагностика: сначала выявите точный репозиторий и его ошибку подписи. Не загружайте ключи из произвольных URL. Установку подписанного ключа и параметра Signed-By выполняйте только по официальной инструкции владельца этого репозитория, предварительно проверив его адрес и отпечаток ключа.
    grep -R -h -E "^(deb |URIs:|Signed-By:)" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
    sudo apt update

#Если не помогло

Если репозиторий не нужен, удалите его файл из /etc/apt/sources.list.d/. Если ключ находится на keyserver.ubuntu.com, всё равно сверяйте отпечаток с тем, что указан на сайте разработчика.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.