7

Пример (с использованием 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: не удалось проверить подпись»?

4 ответа4

9

делать

apt-get install debian-keyring

установить все цепочки ключей разработчика Debian. Это проверит после этого.

1

Вы хотите использовать 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 ; с тех пор gpggpgv) будут рассматривать ключи разработчика / сопровождающего для проверки подписи. (Если вы параноик, вы можете использовать /usr/share/keyrings/debian-keyring.gpg который включает в себя полных разработчиков, но не сопровождающих.)

Ни один из подходов не сделает ключи действительными, но это, вероятно, то, что вам нужно - если вы получили debian-keyring с разумно настроенным apt-get/aptitude и подпись этого пакета была проверена, вы можете иметь разумную уверенность в том, что ключи там действительно принадлежат разработчикам /сопровождающим.

0

Важная деталь, отсутствующая здесь, заключается в том, что вам нужен набор ключей из 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 , этот самый простой из известных мне).

Заметки:

  • Ключ к этому решению был найден по адресу http://debian.distrosfaqs.org/debian-user/signature-of-wheezys-linux-source-package/
  • Прежде чем я нашел это, я наткнулся на тысячи страниц, говорящих вам просто получить недостающий ключ с сервера ключей: никогда не делайте такую глупость, чтобы проверить подпись! Если MitM смог выслать вам поддельный пакет, тот же самый может послать вам поддельный ответ сервера ключей. Следовательно, ключ, извлеченный из сервера ключей, является просто змеиным маслом. (И в контексте безопасности вера в "змеиную нефть", вероятно, самая глупая вещь, которую вы можете сделать.)
0

Судя по строке "gpgv: keyblock resource`/root/.gnupg/trustedkeys.gpg ': ошибка открытия файла ", вы должны столкнуться с ошибкой gpg. В конце концов, apt-get source запускает gpg с ключом --no-option . Что не удается, если не существует homedir (~/.gnupg). Это можно исправить с помощью: gpg -k . Подробнее здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .