Índice das dicas
Adicionando as chaves GPG no apt 0.6
Por Carlos E. Morimoto em 12 de abril de 2006 às 15h41
0A partir da versão 0.6, incluída no Debian Etch, o apt-get passou a operar em modo seguro, onde o desenvolvedor usa sua chave GPG privada para assinar seus pacotes e o apt-get usa a chave pública para verificar se o pacote que está sendo instalado não sofreu modificações.
Este processo extremamente seguro, que visa ter certeza de que o pacote que está sendo instalado na sua máquina é exatamente o mesmo que foi disponibilizado pelo desenvolvedor, eliminando qualquer possibilidade de alguém de má fé alterar o conteúdo pelo caminho.
Este é um nível se segurança que não possui similar no mundo Windows. Mesmo que alguém consiga invadir o servidor onde os pacotes estão hospedados, ou consiga dar upload de pacotes falsos usando uma senha roubada, não terá como falsificar também a assinatura dos pacotes, fazendo com que você seja avisado ao tentar instalar e o problema seja detectado instantâneamente.
A desvantagem é que isto tornou o uso do apt um pouco mais complexo, já que agora, além de rodar o "apt-get update", para atualizar a lista dos pacotes, você precisará muitas vezes atualizar também a lista com as chaves públicas, usadas para verificar os pacotes.
Ao atualizar a partir de uma versão antiga do apt-get, no Kurumin 5.1 ou anterior, ou em qualquer distribuição derivada do Debian que venha com uma versão antiga do apt-get, você passará a receber erros como estes ao rodar o "apt-get update":
W: GPG error: http://ftp.us.debian.org etch Release: Could not execute /usr/bin/gpgv to verify signature (is gnupg installed?)
O primeiro passo é instalar o pacote "gnupg", usado pelo apt-get para fazer a verificação:
# apt-get install gnupg
Como o sistema de autenticação ainda não está funcionando, ele vai exibir o aviso padrão, pressione "s" para continuar a instalação:
AVISO : Os pacotes a seguir não podem ser autenticados !
gnupg
Instalar estes pacotes sem verificação [s/N]?
Com o gnupg instalado, falta baixar as chaves públicas, que serão usadas para verificar os pacotes. Cada repositório listado no arquivo "/etc/apt/sources.list" possui uma chave diferente. Sem instalar as respectivas chaves, você continuará recebendo erros, como em:
W: GPG error: ftp://ftp.nerim.net etch Release: Couldn't access keyring: Arquivo ou diretório não encontrado.
Para baixar a chave para o repositório principal, use o comando abaixo (como root):
# wget http://ftp-master.debian.org/ziyi_key_2006.asc -O - | apt-key add -
Esta chave será atualizada anualmente. Em Janeiro de 2007, 2008, 2009, etc., atualize-a com o mesmo comando, mudando apenas o ano, como em:
# wget http://ftp-master.debian.org/ziyi_key_2007.asc -O - | apt-key add -
Para baixar a chave do repositório Marillat (de onde são instalados o mplayer, o w32codecs e vários outros pacotes ligados a multimídia, de uma forma geral), que é usado por padrão no Kurumin e em diversas outras distribuições, use os comandos:
# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 1F41B907
# gpg --armor --export 1F41B907 | apt-key add -
Para o Debian Unofficial, também usado por padrão no Kurumin, use:
# gpg --keyserver subkeys.pgp.net --recv-keys 4B2B2B9E
# gpg --armor --export 4B2B2B9E | apt-key add -
Concluindo, baixe também a chave para o repositório com as atualizações de segurança do Etch:
# wget http://secure-testing.debian.net/ziyi-2005-7.asc -O - | sudo apt-key add -
Estes comandos para baixar as chaves podem ser encontrados nas páginas iniciais dos respectivos projetos, ou através do Google. Faça uma pesquisa por "gpg", mais o endereço do repositório dos pacotes, como em "gpg ftp://ftp.nerim.net"
Depois de adicionar todas as chaves, rode novamente o "apt-get update" e os erros desaparecerão.
Se você precisar adicionar endereços extras, cujos pacotes não estejam assinados no "sources.list" e quiser desabilitar os avisos do apt-get, adicione a linha "APT::Get::AllowUnauthenticated 1 ;" no arquivo "/etc/apt/apt.conf".
Sem comentáriosPor Carlos E. Morimoto. Revisado 12 de abril de 2006 às 15h41


Comentários