如何解决 apt-key 已弃用?

Jon*_* YH 7 apt 20.10

我正在使用 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
Run Code Online (Sandbox Code Playgroud)

我在这里收到一条apt-key已弃用的警告消息。我该如何解决这个问题?

有什么方法可以删除文件trusted.gpg.d或编辑它吗?

Jon*_* YH 15

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

在该链接中,它指出 Debian 将于apt-key2022 年 4 月结束。目前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
Run Code Online (Sandbox Code Playgroud)

或者

curl <https://example.com/key/repo-key.gpg> | gpg --dearmor > /usr/share/keyrings/<myrepository>-archive-keyring.gpg
Run Code Online (Sandbox Code Playgroud)

对于非 ASCII 类型的键,请按以下形式进行操作:

wget -O- <https://example.com/key/repo-key.gpg> | sudo tee /usr/share/keyrings/<myrepository-archive-keyring.gpg>
Run Code Online (Sandbox Code Playgroud)

或者您可以从密钥服务器获取密钥,如下所示:

sudo gpg --no-default-keyring --keyring /usr/share/keyrings/<myrepository>-archive-keyring.gpg --keyserver <hkp://keyserver.ubuntu.com:80> --recv-keys <fingerprint>
Run Code Online (Sandbox Code Playgroud)

所有密钥将存储在/usr/share/keyrings/文件夹中。signed-by当您将带有选项的存储库添加到您的sources.list文件时,您可以使用这些键:

deb [signed-by=/usr/share/keyrings/<myrepository>-archive-keyring.gpg] <https://repository.example.com/debian/ stable main>
Run Code Online (Sandbox Code Playgroud)

arch=amd64或者您可以以相同的方式添加:

deb [arch=amd64 signed-by=/usr/share/keyrings/<myrepository>-archive-keyring.gpg] <https://repository.example.com/debian/ stable main>
Run Code Online (Sandbox Code Playgroud)

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