faça
apt-get install debian-keyring
para instalar todos os chaveiros de desenvolvimento do Debian. Verificaria depois disso.
Exemplo (usando o Debian Wheezy):
sudo apt-get source hello
Resultado:
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
O pacote dpkg-dev e debian-keyring já está instalado.
Eu tentei executar o apt-get source como usuário, como root, usei "gpg --recv-keys 9F1B8B32" antes como usuário e como root. Nada ajudou a obter as fontes de download verificadas.
Como posso me livrar desse aviso "dpkg-source: warning: failed to verify signature"?
faça
apt-get install debian-keyring
para instalar todos os chaveiros de desenvolvimento do Debian. Verificaria depois disso.
É debian-keyring
desejado (o arquivo .dsc
que está sendo verificado é assinado pelo mantenedor), mas a instalação do debian-keyring
ainda deixa algum trabalho a ser feito para fazer gpg
considerar as chaves do desenvolvedor ser uma lata de worms, o que é presumivelmente porque o encanamento não é feito como parte da pós-instalação).
Se for único, volte a verificar o .dsc
após a obtenção usando:
gpg --keyring /usr/share/keyrings/debian-maintainers.gpg --verify *.dsc
Se você estiver pegando vários, adicione:
keyring /usr/share/keyrings/debian-maintainers.gpg
para o seu ~/.gnupg/gpg.conf
; a partir de então, gpg
(e gpgv
) considerarão as chaves do desenvolvedor / mantenedor para verificação de assinatura. (Se você é paranóico, você pode usar /usr/share/keyrings/debian-keyring.gpg
, que inclui desenvolvedores completos, mas não mantenedores.)
Nenhuma das abordagens fará com que as chaves sejam consideradas válidas, mas provavelmente é isso que você deseja - se você obteve debian-keyring
com uma assinatura do pacote sanely configurada apt-get
/ aptitude
e que foi verificada , você pode ter certeza razoável de que as chaves realmente pertencem aos desenvolvedores / mantenedores.
O detalhe importante que falta aqui é que você precisa do chaveiro do sid
, não do chaveiro do stable
, porque apenas o chaveiro do sid carrega todos os desenvolvedores. Observe o /sid
na próxima linha:
apt-get install debian-keyring/sid
Para obter sid
, você geralmente precisa de uma linha como segue em /etc/apt/source.list
:
deb http://http.debian.net/debian/ sid main
(E não se esqueça de apt-get update
depois).
Mas cuidado! Se sid
estiver no seu sources.list
, seu sistema tenderá a se transformar em sid
contra sua vontade. Para evitar isso, adicione uma linha a /etc/apt/apt.conf
, que se parece com:
APT::Default-Release "stable";
(Existem zilhões de outras maneiras de evitar sid
, este é o mais fácil que eu conheço.)
Notas:
A partir da linha "gpgv: keyblock resource '/root/.gnupg/trustedkeys.gpg': arquivo abrir erro", você deve estar executando em erro do gpg
. No final, apt-get source
executa gpg
com --no-option
switch. Qual falha se nenhum homedir ( ~/.gnupg
) existir. Pode-se remediar isso com: gpg -k
. Mais detalhes aqui .
Tags verification apt-get