的背景
一段时间以来,apt-key
一直使用类似这样的弃用消息来警告用户:
apt-key 的使用已弃用,但在维护者脚本中使用 apt-key del 可以从主密钥环中删除现有密钥除外
网上有很多文档(在 SE 网络和其他地方)介绍如何apt-key
通过gpg
直接使用来“修复”这些警告。例如:
curl -sS <https://example.com/key/repo-key.gpg> | sudo apt-key add -
可以替换为
curl -sS <https://example.com/key/repo-key.gpg> | gpg --dearmor | sudo tee /usr/share/keyrings/<repo>-archive-keyring.gpg
以避免出现弃用的错误。
问题
在 Debian 中,有时我们需要添加 Ubuntu PPA。我们通常会这样做:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com XXXXXX
可以变成以下任一形式:
# something like
gpg --recv-keys --keyserver keyserver.ubuntu.com XXXXXX
# or something like
sudo gpg --no-default-keyring \
--keyring /usr/share/keyrings/<myrepository>-archive-keyring.gpg \
--keyserver <hkp://keyserver.ubuntu.com:80> \
--recv-keys <fingerprint>
但是有一个问题:gpg--keyserver
选项也已被弃用!
--keyserver name
This option is deprecated
问题
如何在不使用弃用的 gpg--keyserver
选项的情况下在 Debian 11 上添加 Ubuntu PPA?
如果这很重要,我的目的是在脚本或像 ansible 这样的自动化工具中使用它,所以我宁愿避免手册或 GUI 步骤。
另请参阅/相关内容
- https://dev.gnupg.org/T4512
- https://unix.stackexchange.com/questions/679495/now-that-apt-key-is-deprecated-how-do-you-add-an-ubuntu-ppa-as-a-debian-apt-sou<= 在我看来这是不是重复的,因为评分最高的答案没有提供 gpg
--keyserver
弃用的解决方案 - https://www.digitalocean.com/community/tutorials/how-to-handle-apt-key-and-add-apt-repository-deprecation-using-gpg-to-add-external-repositories-on-ubuntu-22-04
- https://itsfoss.com/apt-key-deprecated/
- https://www.linuxuprising.com/2021/01/apt-key-is-deprecated-how-to-add.html
- https://askubuntu.com/questions/1286545/what-commands-exactly-should-replace-the-deprecated-apt-key
- https://askubuntu.com/questions/1328806/how-to-solve-apt-key-deprecated
答案1
进一步阅读,因为gpg(1)继续……
--密钥服务器 姓名
此选项已弃用 - 请使用--密钥服务器在 '目录目录目录' 反而。
如果你使用 ie 运行 GnuPG,sudo
则根,您应该在 中配置它/root/.gnupg/dirmngr.conf
,否则在 中~/.gnupg/dirmngr.conf
:
keyserver hkps://keyserver.ubuntu.com
no-use-tor
该附加功能no-use-tor
可防止 GnuPG 尝试使用 Tor 进行密钥检索,这是其默认操作。