我正在尝试设置我自己的Debian
存储库,不要问为什么:P,按照以下步骤操作这里
虽然一切看起来都不错,但他们apt update
不会接受我的回购协议
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9C7C30D8EBE3A31C
注意:我正在另一台机器上尝试apt update
,而不是我托管存储库的机器
我认为在远程计算机上导入公共 gpg 证书应该可行,所以我尝试了以下方法:
- gpg import <public_key>
- Also added it to trust [ultimate]
- Verified that the gpg --verify against the InRelease file and the import certificate reports good
但似乎可能apt-key
正在使用它自己的信任存储,因此受到启发apt-key
联机帮助页,我这样做了
cat pgp-key.public | apt-key --keyring /etc/apt/trusted.gpg.d/myrepo.gpg add -
OK
但运气不佳:(apt-key
不断抛出该错误。我可以看到它9C7C30D8EBE3A31C
与可信密钥输出中的最后 4 个块相匹配
apt-key list
/etc/apt/trusted.gpg.d/myrepo.gpg
---------------------------------
pub rsa4096 2022-08-14 [SCEA]
F0E2 600D C4A4 408B AA69 59B8 9C7C 30D8 EBE3 A31C
uid [ unknown] example <[email protected]>
运气好的话就做什么。
注意:我认为我仍然可以使用--allow-unauthenticated
选项进行升级,使用选项进行更新--allow-insecure-repositories
,但我希望摆脱此错误
答案1
发现问题了:)
由于apt-key
维护自己的一组可信密钥,这就是我修改步骤的方式:
- 不要
[signed-by=<file-path>]
在源列表中指定
并将公钥导入到apt-key
可信来源
cat pgp-key.public | apt-key --keyring /etc/apt/trusted.gpg.d/myrepo.gpg add -
通过这个简单的改变,apt
不再抱怨公钥,并且会愉快地升级