Início
» LINUX
»
Como corrigir o erro GPG “NO_PUBKEY” no Ubuntu
Como corrigir o erro GPG “NO_PUBKEY” no Ubuntu
O erro NO_PUBKEY significa que o APT encontrou um repositório, mas não consegue verificar os metadados assinados do pacote porque não possui a chave pública de assinatura desse repositório. Identifique a origem, obtenha a chave com o editor, verifique a impressão digital completa e vincule-a somente a esse repositório Signed-By. Em seguida, atualize o APT. Não ignore as verificações de assinatura para ocultar o erro.
Observe o URL do repositório ao lado NO_PUBKEY. O APT pode exibir um ID de chave curto, como ABCD1234EF567890. Isso ajuda a identificar a chave ausente, mas não comprova quem a possui. Confirme qual fonte de software gerou o erro antes de alterar suas configurações de confiança.
A linha destacada identifica um repositório cuja chave de assinatura o APT não consegue verificar; o URL e o ID da chave são exemplos.
2. Obtenha e verifique a chave do editor.
Use a página de instalação oficial do proprietário do repositório ou o local de download da chave. Para um PPA do Launchpad, confirme o proprietário e o arquivo no Launchpad. A documentação do Ubuntu sobre como adicionar um PPA é feita com o comando `sudo apt add ppa` add-apt-repository, que configura a chave:
sudo add-apt-repository ppa:OWNER/ARCHIVE
Substitua OWNER/ARCHIVEpelo PPA exato da página oficial. Para um repositório de fornecedor, baixe a chave somente seguindo as instruções do fornecedor. Este exemplo usa um URL fictício; substitua-o pelo URL publicado:
Compare a impressão digital completa com aquela que o fornecedor publica por meio de um canal oficial. Não prossiga se houver divergências ou se não for possível verificá-las.
Siga as instruções do próprio editor para localizar a chave e sua impressão digital.
3. Guarde a chave em seu próprio chaveiro.
Para uma .ascchave ASCII-armored, crie um diretório de chaveiros, converta a chave e permita que o APT a leia:
Se o editor fornecer uma .gpgchave binária, salve-a /etc/apt/keyringse defina suas permissões como 0644; não a desabilite. Nomeie o arquivo de acordo com o editor para que você possa identificá-lo posteriormente.
4. Vincule a chave a esse repositório.
Edite o arquivo de origem existente do repositório, geralmente localizado em /etc/apt/sources.list.d/. Mantenha o URI, a versão do Ubuntu e os componentes do publicador. Substitua os marcadores abaixo e não crie um arquivo de origem duplicado.
Em um .sourcesarquivo deb822, adicione um Signed-Bycampo:
Types: deb
URIs: https://repo.example/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg
Em um .listarquivo legado, adicione a opção à deblinha existente:
deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://repo.example/ubuntu YOUR_UBUNTU_CODENAME main
A entrada de origem aponta para um chaveiro em /etc/apt/keyrings.
5. Atualize o APT e verifique
Salve o arquivo de origem e execute:
sudo apt update
A atualização deve ser concluída sem avisos do repositório NO_PUBKEY. Você poderá então instalar ou atualizar pacotes normalmente. Este comando atualiza os metadados dos pacotes; ele não atualiza os pacotes instalados.
Uma atualização completa da lista de pacotes confirma que o APT consegue verificar o repositório configurado.
Se o erro persistir
Impressão digital incompatível: a chave pode estar desatualizada ou pertencer a outro repositório. Obtenha a chave atual do editor.
Chave não encontrada: confirme se o caminho da origem Signed-Bycorresponde exatamente ao arquivo do chaveiro e se o arquivo é legível.
Arquivo de versão ausente ou erro 404: o repositório pode não ser compatível com o seu codinome do Ubuntu. Siga as orientações de compatibilidade do editor ou desative a fonte; não tente usar uma versão diferente.
Arquivo oficial do Ubuntu: verifique se a origem aponta para um arquivo oficial do Ubuntu e se este ubuntu-keyringestá intacto. Não importe uma chave de substituição não oficial.
No Ubuntu Desktop, se você não usa mais uma fonte de terceiros, abra "Software e Atualizações" , desative-a em "Outros Softwares" e recarregue as informações do pacote. Os rótulos variam de acordo com a versão. O antigo fluxo de trabalho de importação de autenticação global não substitui a verificação da chave atual do editor e o uso de [alguma outra opção/método] Signed-By.
Mantenha a verificação de assinatura ativada.
Não utilize as configurações trusted=yes` --allow-unauthenticated--repository`, `--repository-key` ou `--repository-key` como solução alternativa. Se o editor não puder confirmar a chave ou não mantiver mais o repositório, desative-o e use uma fonte compatível. Consulte o manual de autenticação de arquivos APT do Ubuntu .