如何解决apt-key过时的问题?

我正在使用Ubuntu 20.10,尝试获取最新的签名密钥,但当我这样做时,会出现以下行:
root@kubernetes-worker:/home/jonteyh# curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2537  100  2537    0     0  14016      0 --:--:-- --:--:-- --:--:-- 14094
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

我在这里收到一个警告信息,说apt-key已经被弃用了。我该如何解决这个问题?
我应该删除文件trusted.gpg.d还是编辑它?

5我还没有完全阅读过Ubuntu维基页面,但你可能想看一下:https://www.linuxuprising.com/2021/01/apt-key-is-deprecated-how-to-add.html 但是,“已弃用”并不意味着它没有添加密钥。目前看起来,该密钥可能已经成功添加了。 - Terrance
谢谢 @Terrance,那就没有问题了吗? - Jonte YH
3除了弃用的信息之外,我在那里没有看到任何问题。Debian将在2022年4月基本上停用apt-key,所以在我与你分享的链接中,它说明了如何适应使用“signed-by”来管理未来的软件源。 - Terrance
很棒的消息,Terrance!Debian将要移除apt-key! - Jonte YH
2@Terrance,我觉得你在这里的评论中已经非常详尽地回答了这个问题,你愿意发表一个回答吗? - Zanna
@Terrance,请帮我纠正一下我的答案,你有什么贡献吗? - Jonte YH
@JonteYH 在你的回答上追加了一些内容。 - Terrance
1@Terrance,我已经评论说,如果这个回答对任何人有帮助的话,请点个赞! - Jonte YH
1个回答

看起来 @Terrance 说 apt-key 已经被弃用了。 阅读此链接 https://www.linuxuprising.com/2021/01/apt-key-is-deprecated-how-to-add.html

在该链接中,它指出Debian将于2022年4月停止使用apt-key。目前,apt-key仍然可以工作,就像问题中输出的那样显示了OK,这意味着密钥已导入。

未来建议使用signed-by与您添加的存储库进行操作。

此答案中的所有内容均来自重述的链接。

首先,下载相应的密钥:

对于ASCII类型的密钥,请按照以下方式进行操作:

wget -O- <https://example.com/key/repo-key.gpg> | gpg --dearmor | sudo tee /usr/share/keyrings/<myrepository>-archive-keyring.gpg

或者

curl <https://example.com/key/repo-key.gpg> | gpg --dearmor > /usr/share/keyrings/<myrepository>-archive-keyring.gpg

对于非ASCII类型的键,请按照以下形式进行操作:
wget -O- <https://example.com/key/repo-key.gpg> | sudo tee /usr/share/keyrings/<myrepository-archive-keyring.gpg>

或者你可以从一个密钥服务器获取你的密钥,就像这样:
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/<myrepository>-archive-keyring.gpg --keyserver <hkp://keyserver.ubuntu.com:80> --recv-keys <fingerprint>

所有的密钥将被存储在/usr/share/keyrings/文件夹中。当您使用signed-by选项将您的仓库添加到sources.list文件时,您可以使用这些密钥。
deb [signed-by=/usr/share/keyrings/<myrepository>-archive-keyring.gpg] <https://repository.example.com/debian/ stable main>

或者你可以以同样的方式添加arch=amd64
deb [arch=amd64 signed-by=/usr/share/keyrings/<myrepository>-archive-keyring.gpg] <https://repository.example.com/debian/ stable main>

如果这对你有帮助,请感谢@Terrance。

这些命令相比之下真的很难看: gpg --export somekey | apt-key add -请问有没有确切的等价命令?至少对我来说,从上面很难看出来。 - sjatkins
@sjatkins 如果你不满意,你可以改变这个,请吗? - Jonte YH
使用curl WEBSITE | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/FILE.gpg比使用curl WEBSITE | sudo gpg --dearmour > /etc/apt/trusted.gpg.d/FILE.gpg更好。我发现使用>有时会导致权限错误。 - mbomb007