我正在使用 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