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