![远离 apt-key adv 迁移](https://linux22.com/image/199872/%E8%BF%9C%E7%A6%BB%20apt-key%20adv%20%E8%BF%81%E7%A7%BB.png)
我有相当多的脚本仍在使用该apt-key adv
命令。我知道这个命令已被弃用。而且很快就无法使用了。
如果我错了,请纠正我,但 Debian 11 是最后一个支持apt-key
.
我还知道我们需要迁移到直接获取 .asc 文件并将该文件放入/etc/apt/trusted.gpg.d/
文件夹中。
如何从下面的命令转换为该 .asc 文件的 wget?在哪里可以找到我需要的 .asc 文件?这些 .asc 文件是否由 Linux Mint / X2Go 或其他存储库提供?
我目前用于下载密钥的命令是:
第一个例子:apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A6616109451BBBF2
第二个例子:apt-key adv --recv-keys --keyserver keyserver.ubuntu.com E1F958385BFE2B6E
如何从这些存储库中检索.asc
(或)文件?.gpg
答案1
我还知道我们需要迁移到直接获取 .asc 文件并将该文件放入
/etc/apt/trusted.gpg.d/
文件夹中。
将钥匙圈放入/usr/share/keyrings/
,而不是/etc/apt/trusted.gpg.d/
。
虽然apt-key
警告消息说将密钥放入trusted.gpg.d
,Debian 的“连接第三方存储库的说明”(我将广泛引用其中)明确表示不要这样做:
钥匙圈必须存放在“...只能由 root 写入的位置,应该是/usr/share/keyrings/
。密钥不得放置在 中/etc/apt/trusted.gpg.d
或由 加载apt-key add
。”
密钥环必须采用二进制.gpg
格式,而不是 ascii-armored.asc
格式。
“我们避免使用 ASCII 装甲文件的原因是它们只能SecureApt
在 1.4 或更高版本中使用(出现在stretch中)。”
每个第 3 方存储库都需要其源文件,/etc/apt/sources.list.d/
其中应包含该signed-by
选项。
/etc/apt/sources.list.d
“必须使用缩短的存储库名称(例如)将条目添加到目录中deriv.list
。可以使用“Deb822”文件格式来提高复杂条目的清晰度(例如deriv.sources
)。(请参阅sources.list(5)
)”
每个第 3 方存储库还应该有一个/etc/apt/preferences.d/
.
“当将存储库添加到 时sources.list.d
,应该创建一个匹配的首选项文件以限制存储库可能产生的影响。”
在哪里可以找到我需要的 .asc 文件?
假设您已经知道密钥 ID 或指纹,最方便的方法是使用 GnuPG 从密钥服务器检索它们。对于当前的 Linux Mint 和 X2go 存储库签名密钥:
gpg --keyserver keyserver.ubuntu.com --recv-keys 302F0738F465C1535761F965A6616109451BBBF2 972FD88FA0BAFB578D0476DFE1F958385BFE2B6E
从那里您可以将它们导出到正确的二进制.gpg
文件/usr/share/keyrings
(尽管我会首先检查密钥环是否已经存在):
gpg --export 302F0738F465C1535761F965A6616109451BBBF2 | sudo tee /usr/share/keyrings/linuxmint-archive-keyring.gpg
gpg --export 972FD88FA0BAFB578D0476DFE1F958385BFE2B6E | sudo tee /usr/share/keyrings/x2go-archive-keyring.gpg
这些 .asc 文件是否由 Linux Mint / X2Go 或其他存储库提供?
它们通常作为 .deb 包提供,以便在发布新签名密钥时自动更新。您必须搜索软件包树才能找到确切的位置,对于 Linux Mint 来说是http://packages.linuxmint.com/pool/main/l/linuxmint-keyring/linuxmint-keyring_2016.05.26_all.deb。
答案2
-lessapt-key
相当于你的apt-key adv
命令是
gpg --recv-keys --keyserver keyserver.ubuntu.com A6616109451BBBF2
gpg --export A6616109451BBBF2 | sudo tee /etc/apt/trusted.gpg.d/somenicename.gpg
这假设已gpg
安装。
关于钥匙圈的可用性没有一般规则文件;如果您有下载网址,则可以使用
sudo /usr/lib/apt/apt-helper download-file https://example.org/path/to/repokeyring.asc /etc/apt/trusted.gpg.d/repokeyring.asc
参见朱利安·克洛德的离开apt-key
岗位迁移有关详细信息,以及Debian 11 发行说明中有关过时组件的部分:
bullseye 是最终发布的 Debian 版本apt-key。密钥应该通过将文件拖入来管理
/etc/apt/trusted.gpg.d
,以二进制格式创建gpg--导出带.gpg
扩展,或带.asc
扩展的 ASCII 铠装。