Comece identificando qual repositório gerou o aviso e, em seguida, corrija a chave ou a configuração desse repositório. Não desative as verificações de assinatura do APT. A mensagem "As seguintes assinaturas não puderam ser verificadas" significa que o APT não pode confirmar se os metadados do repositório foram assinados por uma chave confiável. Até que a assinatura seja verificada, o APT pode se recusar a usar essa fonte. Adicionar uma chave aleatória ou definir uma fonte como confiável pode ocultar o aviso, mas remove a proteção que ele deveria fornecer.
Por exemplo, suponha que sudo apt updateos relatórios NO_PUBKEYpara o repositório de um fornecedor de navegador sejam atualizados corretamente, enquanto as linhas de arquivo do próprio Ubuntu sejam atualizadas com sucesso. A solução provável é instalar a chave de assinatura publicada atualmente por esse fornecedor e restringi-la a esse repositório. Reinstalar o chaveiro de arquivos do Ubuntu não resolveria um problema com chaves de terceiros. Os comandos abaixo são modelos: substitua os detalhes do repositório de exemplo pelos valores das instruções oficiais do fornecedor do software.
Leia o erro exato antes de alterar as teclas.
Execute o comando de atualização e anote o URL do repositório e o código de erro nas mesmas linhas de saída:
sudo apt update
O APT normalmente identifica uma origem pelo seu URL e conjunto de versões, como `/apt/source` ou `/apt/source` noble. jammySe mais de uma origem estiver configurada, ele poderá exibir vários erros. Associe cada mensagem ao seu respectivo repositório antes de fazer qualquer alteração. Essas assinaturas comuns apontam para causas diferentes:
| Mensagem ou pista | Significado provável | Primeira ação |
NO_PUBKEY | A chave pública de assinatura necessária para esse repositório não está disponível para o APT, ou a origem não aponta para o arquivo de chave. | Identifique o proprietário do repositório e obtenha a chave atual seguindo as instruções oficiais do editor. |
EXPKEYSIG | A chave usada para a assinatura expirou ou a configuração de assinatura do repositório precisa ser atualizada. | Verifique o aviso de rotação de chaves atual do editor; não continue reinstalando a chave expirada. |
BADSIG | A assinatura não corresponde aos metadados recebidos pelo APT. Pode haver um problema com um espelho desatualizado, proxy, download parcial ou algum problema no repositório. | Tente novamente após verificar a origem, o caminho de rede e os arquivos de índice em cache. |
Release file is not valid yetou expressão temporal semelhante | O relógio do sistema pode estar atrasado em relação ao carimbo de data/hora assinado do repositório. | Verifique a data, o fuso horário e a sincronização de hora do sistema. |
| A chave está presente, mas a fonte ainda reporta uma chave desconhecida. | A origem pode estar referenciando um conjunto de chaves diferente, um caminho incorreto ou um arquivo de chave ilegível para o APT. | Verifique as configurações da fonte Signed-Bye as permissões do chaveiro. |
Quando o erro mencionar a hora, verifique primeiro o relógio do sistema.
Assinaturas e metadados de repositório têm períodos de validade. Um servidor restaurado a partir de um snapshot antigo, um computador com dual boot ou uma máquina com um serviço de horário com falha podem ter o relógio tão dessincronizado que os metadados atuais pareçam inválidos. Verifique a hora do sistema:
timedatectl status
Confirme se a data e a hora exibidas estão corretas e se a sincronização de horário está ativa. Se o relógio estiver incorreto, corrija o serviço de horário do host ou ative o método de sincronização de horário de rede configurado e tente novamente sudo apt update. Evite definir manualmente uma data aproximada: o relógio deve refletir a hora real. Uma correção de horário não resolverá um problema com uma chave de repositório ausente ou expirada; portanto, se a mensagem persistir como um NO_PUBKEYerro EXPKEYSIG, continue com as etapas relevantes para a chave.
Corrigir uma chave de repositório de terceiros ausente ou expirada
As diretrizes atuais do Ubuntu recomendam armazenar chaves de terceiros em um chaveiro dedicado e referenciar essa chave na fonte correspondente com `--key` Signed-By. Isso limita qual chave pode autenticar esse repositório. O Ubuntu descreve essa abordagem em seu guia de repositórios de terceiros e o APT documenta como Signed-Bya verificação de escopo é feita no manual do `sources.list` .
1. Encontre a origem do erro.
Liste as entradas do repositório e pesquise o host exibido na saída do APT:
grep -RniE '^[[:space:]]*(deb|URIs:)' /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
O Ubuntu 24.04 e versões posteriores geralmente usam arquivos deb822 com a extensão .deb822 .sources; versões mais antigas geralmente usam arquivos de uma linha com a extensão .deb822 .list. A documentação de gerenciamento de pacotes do Ubuntu descreve esses formatos de origem. Não edite a entrada do arquivo do Ubuntu para reparar um repositório de fornecedor não relacionado.
2. Obtenha e verifique a chave atual do editor.
Acesse a página oficial de configuração do repositório do fornecedor do software e confirme se ela indica a URL do repositório, a versão do Ubuntu compatível, o local de download da chave de assinatura e a impressão digital completa da chave. Baixe a chave somente de uma fonte identificada pelo fornecedor. Compare a impressão digital completa, não apenas o ID hexadecimal curto exibido após o código NO_PUBKEY. O manual de segurança do APT enfatiza a importância de obter chaves por meio de um canal confiável; confiar na chave errada comprometeria a verificação do repositório.
O exemplo a seguir usa uma chave ASCII-armored. Substitua o URL e o nome do arquivo de exemplo pelos valores oficiais do editor:
curl -fsSLo /tmp/vendor-archive.asc https://packages.vendor.example/ubuntu/archive-key.asc
gpg --show-keys --with-fingerprint /tmp/vendor-archive.asc
Prossiga somente quando a impressão digital exibida corresponder àquela documentada pelo editor. Converta-a em um chaveiro binário e coloque-o no diretório de chaveiros local do APT:
sudo install -d -m 0755 /etc/apt/keyrings
gpg --dearmor --output /tmp/vendor-archive.gpg /tmp/vendor-archive.asc
sudo install -m 0644 /tmp/vendor-archive.gpg /etc/apt/keyrings/vendor-archive-keyring.gpg
O domínio de exemplo é meramente ilustrativo e não fará o download de uma chave de fornecedor real. Use o URL exato da chave verificada, fornecido pelo próprio editor do software. Não use o resultado de uma busca em um servidor de chaves como substituto para confirmar a propriedade da chave.
3. Defina o escopo da chave na fonte do repositório.
Para uma entrada de uma linha .list, o padrão é:
deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://packages.vendor.example/ubuntu noble main
Para um arquivo deb822 .sources, os campos correspondentes têm a seguinte aparência:
Types: deb
URIs: https://packages.vendor.example/ubuntu
Suites: noble
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg
Esses são modelos, não entradas de origem universalmente válidas. Mantenha o URI, o conjunto de pacotes e os componentes das instruções de configuração oficiais do fornecedor; um codinome do Ubuntu incorreto pode criar conflitos de pacotes mesmo quando a chave é válida. Certifique-se de que o caminho do chaveiro corresponda ao arquivo que você instalou. O chaveiro deve ser legível pelo _aptusuário sem privilégios do APT, e é por isso que o exemplo o instala com o modo `--no-keyring` 0644. Remova ou corrija entradas duplicadas para o mesmo repositório para que uma entrada antiga sem escopo não continue a gerar o aviso.
O comando do APT apt-keyestá obsoleto para configurações comuns de repositórios. Evite guias que adicionam chaves de terceiros globalmente apt-key advou colocam todas as chaves de fornecedores em um chaveiro confiável comum. Uma Signed-Byentrada com escopo definido torna a relação de confiança mais clara e reduz o impacto de confiar em uma única chave de repositório.
Se o aviso for referente ao próprio repositório do Ubuntu
Primeiro, verifique se o conjunto de repositórios corresponde à sua versão do Ubuntu instalada e se o relógio do sistema está correto. As chaves de assinatura dos arquivos do Ubuntu são fornecidas pelo ubuntu-keyringpacote. Se o conjunto de chaves instalado estiver corrompido ou desatualizado, e o APT ainda conseguir baixar e verificar pacotes de uma fonte do Ubuntu configurada corretamente, reinstale-o com:
sudo apt install --reinstall ubuntu-keyring
Em seguida, execute sudo apt updatenovamente. Se a única fonte com falha for um arquivo de versão obsoleto ou um espelho que esteja fornecendo metadados inconsistentes, reinstalar o chaveiro pode não resolver o problema. Verifique o suporte de versões e a configuração do repositório do Ubuntu antes de alterar as chaves. Não substitua a chave do arquivo do Ubuntu por uma chave baixada de um site não relacionado nem desative a verificação para forçar uma atualização.
Limpar índices em cache somente em caso de incompatibilidade de metadados.
Se o APT reportar problemas BADSIGapós uma interrupção temporária de rede ou um problema com um servidor espelho/proxy, as listas de pacotes armazenadas em cache localmente podem estar incompletas ou inconsistentes. Após confirmar que a fonte configurada é legítima, limpe apenas os arquivos de índice do APT em cache e busque-os novamente.
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
Isso remove os índices de repositórios baixados, não os pacotes instalados. O APT reconstrói os índices na próxima atualização. Se BADSIGo erro retornar imediatamente, pare de repetir a limpeza: verifique se um proxy de rede, gateway de cache ou espelho está reescrevendo ou servindo metadados incompatíveis e verifique o status do repositório com seu editor. Excluir índices repetidamente não corrige uma assinatura que o próprio repositório publica incorretamente.
Confirme o reparo e mantenha a proteção ativada.
Execute o comando sudo apt updatenovamente e verifique se o repositório afetado é concluído sem avisos de NO_PUBKEYerro, erro de instalação ou de verificação de assinatura. Em seguida, verifique um pacote dessa origem com o comando `check` EXPKEYSIG, substituindo o nome pelo nome do pacote. Confirme se a versão candidata vem do repositório esperado antes de instalá-la ou atualizá-la.BADSIGapt-cache policy package-name
Não utilize trusted=yes` --no-repository`, `--no-repository` allow-insecure=yes, ` --allow-unauthenticated--no-repository` ou opções similares como solução permanente. A verificação de assinatura do APT verifica se os metadados do repositório são assinados por uma chave que você escolheu para confiar; desativá-la significa que o APT não poderá mais fornecer essa verificação de integridade. O manual de segurança do APT explica a cadeia de autenticação do repositório e suas limitações. Se o editor retirou um repositório, parou de assinar metadados ou não fornece uma impressão digital de chave verificável, remova ou desative essa fonte em vez de ignorar a verificação.
Documentação verificada em 6 de outubro de 2026. Os formatos de repositório do Ubuntu e as recomendações de gerenciamento de chaves podem variar de acordo com a versão; utilize a documentação da sua versão do Ubuntu instalada e as instruções atuais do editor do repositório.