Quem está usando o Ubuntu 22.04 e tentou instalar algum repositório PPA ou qualquer outro repositório de pacotes, deve ter começado a receber as mensagem sobre o apt-key ao rodar o comando ‘apt update’:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Eu percebi esse problema ao tentar usar os repositórios do Linux Mint e o PPA do Lutris no Ubuntu 22.04.
Causa do problema
O problema acontece ao tentarmos adicionar um repositório usando o comando add-apt-repository com um PPA.
Exemplo:
$ sudo add-apt-repository ppa:lutris-team/lutris
O comando add-apt-repository vai adicionar um arquivo .list no diretório /etc/apt/sources.list.d/ com o nome do repositório e vai adicionar a chave gpg do ppa no arquivo trusted.gpg (/etc/apt/trusted.gpg).
Acontece que o arquivo trusted.gpg não é mais usado para guardar as chaves gpg dos repositórios, e qualquer chave que for adicionada nesse arquivo vai provocar aquela mensagem de erro toda vez que você usar o apt update.
Como resolver:
Repositórios PPA
Enquanto a solução não chega, devemos remover as chaves do arquivo trusted.gpg e coloca-las em seus devidos lugares.
1- $ sudo add-apt-repository ppa:autor/projeto
2- $ apt-key list
3- $ gpg --export <chave-assinatura> | sudo tee /usr/share/keyrings/nome-repositorio.gpg
Exemplo:
_gpg — export 1234567890123456789012345678901234567890 sudo tee /usr/share/keyrings/nome-repositorio.gpg_
4- $ sudo nano /etc/apt/sources.list.d/nome-repositorio.list
5- Procure e substitua conforme o exemplo:
deb http://ppa.launchpad.net/autor/projeto/ubuntu jammy main
Para
deb [signed-by=/usr/share/keyrings/nome-repositorio.gpg] http://ppa.launchpad.net/autor/projeto/ubuntu jammy main
6- Salve o arquivo com as alterações e depois rode novamente o comando apt update.
Outros repositórios:
Para adicionar repositórios de outras fontes, você pode fazer igual eu fiz quando eu queria usar os repositórios do Linux Mint 21 no Ubuntu 22.04
1- Adicione o repositório que você quer
Exemplo:
$ sudo add-apt-repository -y "deb [signed-by=/usr/share/keyrings/mint_vanessa.gpg] http://packages.linuxmint.com vanessa main upstream import backport"
Detalhe, o arquivo mint_vanessa.gpg ainda não existe, mas vamos cria-lo depois porque agora vamos precisar saber a ID da chave que vai ser adicionada no trusted.gpg primeiro.
2- Rode o comando apt update
$ sudo apt update
Ao fazer isso você vai ver essa mensagem enquanto o apt atualiza a base de dados:
W: Falhou ao buscar http://packages.linuxmint.com/dists/vanessa/Release.gpg As assinaturas a seguir não puderam ser verificadas devido à chave pública não estar disponível: NO_PUBKEY A6616109451BBBF2.
A mensagem de erro acima informou a ID da chave que precisamos pra criar o arquivo mint_vanessa.gpg
3- Rode os dois comandos abaixo:
$ gpg --recv-keys --keyserver keyserver.ubuntu.com A6616109451BBBF2
$ gpg --export A6616109451BBBF2 | sudo tee /usr/share/keyrings/mint_vanessa.gpg
Esses comandos vão procurar a assinatura da chave pelo ID e com o mesmo ID vai extrair a assinatura da chave e transformar em um arquivo no formato aceito do APT.
4- Rode o comando apt update, a mesagem deverá sumir.
Considerações finais:
O problema ja foi passado para a canonical e será uma questão de tempo até esse problema desaparecer, até então os repositórios adicionados pelo usuário terão de passar por esses procedimentos a ponto do repositório e sua respectiva chave estejam dentro dos conformes de segurança do sistema.
Espero ter ajudado, até a próxima.