Вопрос или проблема
Debian sid, ppc порт
apt -y update
Get:1 http://ftp.ports.debian.org/debian-ports sid InRelease [75.0 kB]
Err:1 http://ftp.ports.debian.org/debian-ports sid InRelease
Неправильная подпись
Get:2 http://ftp.ports.debian.org/debian-ports unreleased InRelease [50.8 kB]
Err:2 http://ftp.ports.debian.org/debian-ports unreleased InRelease
Неправильная подпись
Предупреждение: ошибка GPG: http://ftp.ports.debian.org/debian-ports sid InRelease: Неправильная подпись
Ошибка: Репозиторий 'http://ftp.ports.debian.org/debian-ports sid InRelease' не подписан.
Уведомление: Обновление из такого репозитория невозможно сделать безопасно, и поэтому оно отключено по умолчанию.
Уведомление: См. man-страницу apt-secure(8) для создания репозитория и деталей конфигурации пользователя.
Предупреждение: ошибка GPG: http://ftp.ports.debian.org/debian-ports unreleased InRelease: Неправильная подпись
Ошибка: Репозиторий 'http://ftp.ports.debian.org/debian-ports unreleased InRelease' не подписан.
Уведомление: Обновление из такого репозитория невозможно сделать безопасно, и поэтому оно отключено по умолчанию.
Уведомление: См. man-страницу apt-secure(8) для создания репозитория и деталей конфигурации пользователя.
Уведомление: Отсутствует Signed-By в записи sources.list(5) для 'http://ftp.ports.debian.org/debian-ports'
Уведомление: Отсутствует Signed-By в записи sources.list(5) для 'http://ftp.ports.debian.org/debian-ports'
Уведомление: Рассмотрите возможность миграции всех записей sources.list(5) в формат deb822 .sources
Уведомление: Формат deb822 .sources поддерживает как встроенные, так и внешние OpenPGP ключи
Уведомление: См. apt-secure(7) для лучших практик в настройке подписи репозитория
Как вы видите, команда не удалась, потому что репозиторий не подписан
Я обычно исправляю это, импортируя ключ с помощью apt-key, но…
curl -L http://ftp.ports.debian.org/debian-ports/dists/sid/Release.gpg | sudo apt-key add -
sudo: apt-key: команда не найдена
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1597 100 1597 0 0 14606 0 --:--:-- --:--:-- --:--:-- 14651
curl: Ошибка записи тела
root@ibmlinux:~$
Я также попробовал переустановить ключи
apt-get -o APT::Get::AllowUnauthenticated=true reinstall debian-archive-keyring debian-ports-archive-keyring
но…
apt-get -y update
Get:1 http://deb.debian.org/debian-ports sid InRelease [75.0 kB]
Err:1 http://deb.debian.org/debian-ports sid InRelease
Неправильная подпись
Get:2 http://deb.debian.org/debian-ports unreleased InRelease [50.8 kB]
Err:2 http://deb.debian.org/debian-ports unreleased InRelease
Неправильная подпись
Чтение списков пакетов... Готово
W: ошибка GPG: http://deb.debian.org/debian-ports sid InRelease: Неправильная подпись
E: Репозиторий 'http://deb.debian.org/debian-ports sid InRelease' не подписан.
N: Обновление из такого репозитория невозможно сделать безопасно, и поэтому оно отключено по умолчанию.
N: См. man-страницу apt-secure(8) для создания репозитория и деталей конфигурации пользователя.
W: ошибка GPG: http://deb.debian.org/debian-ports unreleased InRelease: Неправильная подпись
E: Репозиторий 'http://deb.debian.org/debian-ports unreleased InRelease' не подписан.
N: Обновление из такого репозитория невозможно сделать безопасно, и поэтому оно отключено по умолчанию.
N: См. man-страницу apt-secure(8) для создания репозитория и деталей конфигурации пользователя.
N: Отсутствует Signed-By в записи sources.list(5) для 'http://deb.debian.org/debian-ports'
N: Отсутствует Signed-By в записи sources.list(5) для 'http://deb.debian.org/debian-ports'
N: Рассмотрите возможность миграции всех записей sources.list(5) в формат deb822 .sources
N: Формат deb822 .sources поддерживает как встроенные, так и внешние OpenPGP ключи
N: См. apt-secure(7) для лучших практик в настройке подписи репозитория.
apt-key
устарел и был удалён. Рекомендуемый способ обращения к ключам, специфичным для репозитория, теперь заключается в их кодировании в определении репозитория; см. man 5 sources.list
для подробностей.
Однако для репозиториев Ports это не лучший подход. Вместо этого вам следует скачать пакет ключей портов и установить его. Репозитории будут автоматически аутентифицированы; если вы хотите ограничить использование ключей, вы можете указать определение репозитория на соответствующий файл в /etc/apt/trusted.gpg.d
(вероятно, debian-ports-archive-2025.asc
, я не проверял).
Ответ или решение
При работе с Debian Sid на архитектуре PowerPC вы столкнулись с довольно распространенной проблемой: ошибка "No good signature" при обновлении репозиториев через команду apt update
. Данная ошибка указывает на то, что репозитории, которые вы пытаетесь обновить, не подписаны должным образом и, соответственно, система их отвергает из-за соображений безопасности. Рассмотрим теоретическую часть, пример и пути решения этой проблемы.
Теория
Система пакетного управления APT в Debian требует, чтобы все репозитории были подписаны с использованием GPG-кодов. Это важно для обеспечения целостности и подлинности пакетов при их загрузке. В вашем случае, сообщения о "No good signature" говорят о том, что подписи InRelease файлов не доверены текущей конфигурацией вашей системы.
Ранее распространенный метод обхода этой проблемы заключался в использовании команды apt-key
, которая позволяла добавлять ключи подписи в систему. Тем не менее, с недавних пор apt-key
устарел и был удален из Debian, поскольку он создает потенциальные риски безопасности. Настоятельно рекомендуется использовать более современный и безопасный подход к управлению ключами.
Пример
Допустим, у вас есть репозиторий http://ftp.ports.debian.org/debian-ports
, и при попытке его обновления вы видите следующую ошибку:
E: The repository 'http://ftp.ports.debian.org/debian-ports sid InRelease' is not signed.
Вы пробовали следующую команду, чтобы добавить ключ:
curl -L http://ftp.ports.debian.org/debian-ports/dists/sid/Release.gpg | sudo apt-key add -
Но она выдает ошибку, что apt-key: command not found
.
Применение
Решение проблемы начинается с понимания, что следует использовать более современные методы, которые уже не опираются на apt-key
. Один из предложенных и наиболее безопасных способов — это использование пакетов ключей архивов Debian.
Вот что можно сделать, чтобы исправить проблему:
-
Установите пакет ключей для портов Debian.
Сначала загрузите и установите пакет
debian-ports-archive-keyring
, который содержит ключи для аутентификации необходимых репозиториев:wget http://ftp.ports.debian.org/debian-ports/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2025.01.01_all.deb sudo dpkg -i debian-ports-archive-keyring_2025.01.01_all.deb
-
Проверьте настройки вашего файлового источника.
Убедитесь, что ваша конфигурация
sources.list
илиsources.list.d
не содержит ошибок и корректно ссылается на ключи. Переход на новый формат конфигурации вdeb822 .sources
может быть полезен. Форматdeb822
поддерживает встроенные и внешние OpenPGP ключи и является более современным. -
Обновите ключи пакетов.
Повторите настройку установленных ключей, чтобы убедиться, что они правильно восприняты системой. Перезапустите
apt update
, чтобы убедиться, что проблема решена. В случае, если ошибка сохраняется, проверка конфигурационных файлов на наличие дублирующих или неправильных ключей может помочь. -
Дополнительные ресурсы.
Более подробнее об управлении репозиториями можно ознакомиться в документации apt-secure(8) и apt-key(8). Эти ресурсы помогут лучше понять механизмы проверки подлинности и способы их настройки.
В результате предпринятых шагов вы должны быть в состоянии безопасно обновить свой пакетный менеджер без отключения важной системы безопасности Debian. Настоятельно рекомендуется использовать только доверенные источники для загрузки ключей и всегда проверять их подлинность перед установкой.