Estou usando o Ubuntu 9.10 e preciso adicionar alguns repositórios apt. Infelizmente, recebo mensagens como esta ao executar sudo apt-get update
:
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767
Então, preciso instalar as chaves para esses repositórios. Na versão 9.10, agora temos a opção de fazer isso:
sudo add-apt-repository ppa:nvidia-vdpau/ppa
Veja este artigo de ajuda do Ubuntu para obter detalhes.
Isso é ótimo, exceto que eu estou executando isso em uma estação de trabalho atrás de um firewall que bloqueia as conexões de saída para praticamente todas as portas, exceto aquelas exigidas pelos secretários que executam o Windows e o IE.
A porta em questão aqui é o serviço hkp, porta 11371.
Parece haver maneiras de baixar manualmente as chaves e instalá-las no chaveiro do apt. Pode até haver uma maneira de usar o add-apt-repository ou o wget ou algo para baixar uma chave de um servidor alternativo, disponibilizando-a na porta 80.
No entanto, ainda não encontrei um conjunto conciso de etapas para fazer isso. O que estou procurando é:
- Como encontrar uma chave pública para um pacote apt (recomendações para recursos que possuem essas e / ou dicas para pesquisar. A busca pelo hash da chave não parece tão eficaz até agora).
- Como recuperar uma chave (isso pode ser feito automaticamente usando gpg ou add-apt-repository?)
- Como adicionar uma chave ao chaveiro do apt
Desde já, obrigado.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY_HASH
hkp://keyserver.ubuntu.com:80
funciona em 10.04 também.--keyserver hkp://keyserver.ubuntu.com:80
fonte
Aqui está uma solução alternativa que usei:
Eu entrei em um servidor Linux no mundo livre além do firewall corporativo e fiz o seguinte:
Então, na minha estação de trabalho, eu executei isso e colei a saída do comando acima (a chave pública) no stdin, seguido pelo control-D:
Então eu fui capaz de executar
sudo apt-get update
sem problemas.Eu ainda acho que tem que haver uma maneira melhor, idealmente algo que eu possa escrever.
fonte
Tenho outra solução aqui, que pode ser útil se você não conseguir encontrar outro servidor Linux fora da sua rede como proxy. Envie um e-mail para "[email protected]" como o assunto como "get 0x1DABDBB4CEC06767". Mas você provavelmente ainda não pode escrever um script simples para automatizar isso.
fonte
Você pode acessar o site do servidor de chaves, por exemplo, http://wwwkeys.eu.pgp.net/ Pesquise a assinatura da chave (é necessário adicionar 0x à assinatura hexadecimal), ou seja, 0x1DABDBB4CEC06767.
Clique no link que você espera obter e colar o texto em um arquivo na máquina, ou seja,
Então
Isso funcionou bem pra mim; parece que meu proxy de trabalho bloqueia muitas portas "não-padrão".
fonte
Eu encontrei uma maneira elegante de fazê-lo em um único comando através da porta 80, que está sempre aberta para o tráfego www.
http://gurrier.wordpress.com/2010/10/02/downlolading-repo-keys-from-behind-a-corporate-firewall/
fonte
Uma solução simples é:
O https seguro (saída 443) não seria bloqueado pelo firewall.
fonte
Eu simplesmente uso ssh para encaminhar a porta para um host externo e, em seguida, execute o
apt-add-repo
comandofonte
Eu tive o mesmo problema com o gpg. A solução alternativa ao adicionar a porta ao nome do servidor funcionou editando meu
~/.gnupg/gpg.conf
arquivo. No entanto, ainda vou pedir ao administrador do sistema que abra a porta de saída 11371, para que não precise me preocupar com isso novamente.fonte