远离 apt-key adv 迁移

远离 apt-key adv 迁移

我有相当多的脚本仍在使用该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 铠装。

相关内容