Por que o apt-get update diz para eu executar o apt-get update?

10

Então, eu tenho isso acontecendo:

# apt-get update
Get:1 http://ftp.us.debian.org etch Release.gpg [1032B]                     
Hit http://ftp.us.debian.org etch Release                                        
(...bunch more of this elided...)
Hit http://ftp.us.debian.org etch/contrib Sources
Fetched 68.8kB in 1s (37.4kB/s)
Reading package lists... Done
W: There is no public key available for the following key IDs:
9AA38DCD55BE302B
W: GPG error: http://ftp.us.debian.org etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9AA38DCD55BE302B
W: You may want to run apt-get update to correct these problems

Aparentemente, não posso correr apt-get updatepor causa de um problema que apt-getquer que eu corra apt-get updatepara consertar, o que é desagradável. Como faço para corrigir isso?

caos
fonte

Respostas:

16

Tente fazer isso e execute o apt-get novamente:

apt-key update

O apt-key é um programa usado para gerenciar um chaveiro de chaves gpg para um apt seguro. O chaveiro é mantido no arquivo /etc/apt/trusted.gpg (não deve ser confundido com o /etc/apt/trustdb.gpg relacionado, mas não muito interessante). O apt-key pode ser usado para mostrar as chaves no chaveiro e adicionar ou remover uma chave.

Mais informações no wiki do Debian: http://wiki.debian.org/SecureApt

Se isso não funcionar, tente:

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B
apt-key add /root/.gnupg/pubring.gpg
apt-get update 
Andy May
fonte
Tentei; nenhuma mudança. :(
caos
5
A atualização do apt-key somente faz alguma coisa se o pacote debian-archive-keyring estiver instalado. Geralmente, não é necessário, a instalação do pacote atualiza o chaveiro do APT automaticamente. A segunda sugestão não é muito segura, pois você não verifica se a chave pertence ao projeto Debian. Você realmente deve verificar suas assinaturas antes de ativá-lo. Além disso, a adição de todo o chaveiro é ruim, você só quer a chave recém-baixada para que “gpg --export 9AA38DCD55BE302B | apt-key add -”teria sido melhor ...
Raphaël Hertzog
12

ou faça o sudo apt-get install debian-archive-keyringprimeiro.

depois disso, você pode continuar normalmente

lepole
fonte
Isso resolveu o problema para mim em um servidor Etch antiga, com definições de repositório apontando para archive.debian.org/debian
Amos Shapira
Pode confirmar Isso funciona em etch idade em ppc
Ross W
6

Para garantir a origem do pacote baixado, o APT desejará verificar as assinaturas do arquivo Release. Se não puder verificar, ele reclamará com a mensagem que você viu. Nesse caso, você precisa instalar a chave GPG correspondente para que o APT possa verificar o arquivo corretamente. Infelizmente, você não deve fazer o download cego de nenhuma chave, pois realmente deseja permitir apenas chaves confiáveis ​​pertencentes ao proprietário do repositório. Portanto, você deve baixá-lo de uma maneira que garanta sua origem e simplesmente baixá-lo com gpg --recv-keynão garante isso.

A instalação de uma nova chave é concluída apt-key add <key-file>. A maioria dos repositórios não oficiais fornece a chave em seu site e fornece instruções como esta (o URL difere, é claro):

wget -O - http://ftp-master.debian.org/keys/archive-key-5.0.asc | sudo apt-key add -

No caso de um espelho oficial do Debian, você deve ter automaticamente a chave certa instalada, ela está contida no pacote debian-archive-keyringe sua configuração ativa as chaves automaticamente. Portanto, verifique se você o instalou e se está atualizado:

apt-get install debian-archive-keyring

Se você não confia no seu espelho, também pode instalá-lo somente depois de instalar a chave correta com o método anterior. Na verdade, forneci o URL da chave oficial que você precisava.

Para mais informações sobre como as Chaves de Arquivo Debian são tratadas, você pode verificar http://ftp-master.debian.org/keys.html .

Raphaël Hertzog
fonte
2

Eu tive esse problema devido a um proxy transparente, fornecendo uma versão antiga da chave GPG, resolvi usando o wget para forçar o proxy a obter uma nova versão, por exemplo

wget --no-cache -O /tmp/Z http://security.debian.org/dists/lenny/updates/Release.gpg
wget --no-cache -O /tmp/Z2 http://security.debian.org/dists/lenny/updates/Release

então, espero que, no seu caso, os seguintes comandos o resolvam: -

wget --no-cache -O /tmp/Z http://ftp.us.debian.org/dists/etch/Release.gpg
wget --no-cache -O /tmp/Z2 http://ftp.us.debian.org/dists/etch/Release

Obviamente, estamos tão longe do Etch que esse não é mais o caso, mas estou documentando aqui, caso ajude alguém.

Mark Young
fonte