do
apt-get install debian-keyring
to install all debian developer keyrings. It would check after that.
Пример (с использованием Debian Wheezy):
sudo apt-get source hello
Результат:
Reading package lists... Done Building dependency tree Reading state information... Done Need to get 705 kB of source archives. Get:1 http://ftp.us.debian.org/debian/ testing/main hello 2.8-3 (dsc) [1287 B] Get:2 http://ftp.us.debian.org/debian/ testing/main hello 2.8-3 (tar) [697 kB] Get:3 http://ftp.us.debian.org/debian/ testing/main hello 2.8-3 (diff) [6598 B] Fetched 705 kB in 8s (80.6 kB/s) gpgv: keyblock resource `/root/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made Wed Feb 13 10:30:20 2013 UTC using RSA key ID 9F1B8B32 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./hello_2.8-3.dsc dpkg-source: info: extracting hello in hello-2.8 dpkg-source: info: unpacking hello_2.8.orig.tar.gz dpkg-source: info: unpacking hello_2.8-3.debian.tar.gz
Пакет dpkg-dev и debian-keyring уже установлен.
Я попытался запустить apt-get source от имени пользователя, в качестве пользователя root заранее использовал «gpg --recv-keys 9F1B8B32» от имени пользователя и от имени пользователя root. Ничто не помогло проверить загруженные источники.
Как я могу избавиться от этого предупреждения «dpkg-source: warning: не удалось проверить подпись»?
do
apt-get install debian-keyring
to install all debian developer keyrings. It would check after that.
Это именно то, что debian-keyring
вам нужно ( .dsc
проверяемый файл подписан сопровождающим), но при установке debian-keyring
все еще требуется выполнить некоторые сантехнические работы, чтобы gpg
рассмотреть ключи разработчика (автоматическое рассмотрение их будет червем, что, вероятно, объясняет, почему сантехника не работает). сделано как часть постустановки).
Если это разовое, перепроверьте .dsc
после выборки, используя:
gpg --keyring /usr/share/keyrings/debian-maintainers.gpg --verify *.dsc
Если вы будете получать несколько, добавьте:
keyring /usr/share/keyrings/debian-maintainers.gpg
к вашему ~/.gnupg/gpg.conf
; с тех пор gpg
(и gpgv
) будут рассматривать ключи разработчика / сопровождающего для проверки подписи. (Если вы параноик, вы можете использовать его, /usr/share/keyrings/debian-keyring.gpg
включая полных разработчиков, но не сопровождающих.)
Ни один из подходов не сделает ключи действительными, но это, вероятно, то, что вы хотите - если вы получили debian-keyring
с помощью правильно настроенного apt-get
/ aptitude
и была проверена подпись этого пакета, вы можете иметь разумную уверенность в том, что эти ключи действительно принадлежат разработчикам / сопровождающим.
Важная деталь, отсутствующая здесь, заключается в том, что вам нужен набор ключей sid
, а не набор ключей stable
, потому что только набор ключей sid несет всех разработчиков. Обратите внимание на /sid
следующую строку:
apt-get install debian-keyring/sid
Чтобы получить, sid
вам обычно нужна следующая строка /etc/apt/source.list
:
deb http://http.debian.net/debian/ sid main
(И не забудьте apt-get update
потом.)
Но будьте осторожны! Если sid
сидит в вашей sources.list
системе, она склонна превращаться sid
против вашей воли. Чтобы предотвратить это, добавьте строку, /etc/apt/apt.conf
которая выглядит следующим образом:
APT::Default-Release "stable";
(Есть множество других способов предотвратить sid
это, это самый простой из известных мне).
Заметки: