简而言之,我想在我的 Debian 12 系统上添加一个 HPE 存储库。我将存储库添加到 sources.list.d 中的自己的列表中,而不是直接添加到 sources.list 中,因为我听说这是不好的做法。每次更新时,我都会收到以下消息:
GPG 错误:http://downloads.linux.hpe.com/SDR/repo/mcpbookworm/current Release:由于没有公钥,因此无法验证以下签名:NO_PUBKEY C208ADDE26C2B797 E:存储库“http://downloads.linux.hpe.com/SDR/repo/mcp bookworm/current Release”未签名。N:从此类存储库进行更新无法安全地完成,因此默认情况下被禁用。N:有关存储库创建和用户配置详细信息,请参阅 apt-secure(8) 手册页。
我检查了一下,gpg 密钥在存储库中,但研究时我发现的都是 .pub 密钥而不是 .gpg 密钥。
编辑:是的,在我最初的研究中我发现这个 Debian 论坛但据我了解,apt-key 命令已被弃用,所以我没在意。但是,如果在这种情况下可以使用 apt-key,那么我会改用它。抱歉搞错了。
EDIT2:因此我修改了源文件 mcp.list,以反映这一点:debhttp://downloads.linux.hpe.com/SDR/repo/mcp/debian/bookworm/12.80 非自由 非自由固件
之后我运行了以下命令:
curl-fsSLhttps://downloads.linux.hpe.com/SDR/hpPublicKey2048.pub| gpg --dearmor -o /usr/share/keyrings/hpPublicKey2048.gpg curl -fsSLhttps://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub| gpg --dearmor -o /usr/share/keyrings/hpePublicKey2048_key1.gpg curl -fsSLhttps://downloads.linux.hpe.com/SDR/hpPublicKey2048_key1.pub| gpg --dearmor -o /usr/share/keyrings/hpPublicKey2048_key1.gpg
但什么都没起作用,然后我尝试了目录并更改为trusted.gpg.d目录。现在这最终产生了更大的差异。现在它只工作了一半,但一些存储库被忽略了:
跳过获取配置文件“non-free-firmware/binary-amd64/Packages”作为存储库“http://downloads.linux.hpe.com/SDR/repo/mcp/debian bookworm/12.80 InRelease”没有组件“non-free-firmware”(sources.list 中的组件拼写错误?)跳过获取配置文件“non-free-firmware/i18n/Translation-en_US”作为存储库“http://downloads.linux.hpe.com/SDR/repo/mcp/debian bookworm/12.80 InRelease”没有组件“non-free-firmware”(sources.list 中的组件拼写错误?)跳过获取配置文件“non-free-firmware/i18n/Translation-en”作为存储库“http://downloads.linux.hpe.com/SDR/repo/mcp/debian bookworm/12.80 InRelease' 没有组件“non-free-firmware”(组件在 sources.list 中拼写错误?)
然后,我通过更改源文件来反映它建议的更改:“InRelease”、“Release”等,对此进行了更多实验。但是,我仍然得到类似的结果,每当我更改文件以反映这些更改时,它都会弹出类似的消息,但带有另一个我显然遗漏的词。
答案1
在编辑源代码后,我弄清楚了哪里出了问题,那是一个打字错误,同时它确实要求我删除“非免费固件”部分,并要求我删除“InRelease”一词,然而,在再次尝试之后它终于成功了,最终结果是:
德布http://downloads.linux.hpe.com/SDR/repo/mcp/debian/书虫/12.80 非免费
我不知道为什么我尝试了两次省略“非免费固件”,并且每次都得到不同的结果,但仍然继续。
然后,使用Matt 的更新答案在这里我必须进行一些更改,然后它才能正常工作。基本上将密钥环的目录更改为trusted.gpg.d。
curl-fsSLhttps://downloads.linux.hpe.com/SDR/hpPublicKey2048.pub| gpg --dearmor -o /etc/apt/trusted.gpg.d/hpPublicKey2048.gpg
curl-fsSLhttps://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub| gpg --dearmor -o /etc/apt/trusted.gpg.d/hpePublicKey2048_key1.gpg
curl-fsSLhttps://downloads.linux.hpe.com/SDR/hpPublicKey2048_key1.pub| gpg --dearmor -o /etc/apt/trusted.gpg.d/hpPublicKey2048_key1.gpg
之后,更新后它似乎对我有用。我不确定它是否实用,因为我对 Linux 还不熟悉,但这对我来说是有效的,希望能对其他人有所帮助。