我们正在使用Sonatype Nexus Repository Manager
来托管apt
存储库。其中一个的GPG
密钥最近已过期,需要更新。我认为足够的是生成新的密钥对(如官方站点文档中所述),通过 Nexus UI 和新密码粘贴新的私钥,然后apt-key add
在客户端系统上粘贴新的公钥,一切都会很好。相反,发生的事情apt update
仍然是NO_PUBKEY <old_id>
. 我不知道现在从哪里apt
获取信息,它错过了旧密钥并且没有“同步”新密钥。/var/lib/apt/lists/
在调用apt update
. 我错过了什么?
编辑:全部在干净的 docker 中运行,其中仅添加新密钥apt-key add public.gpg.key
和新存储库/etc/apt/sources.list
,echo "deb <repo_url> bionic main" >> /etc/apt/sources.list
我已经设法解决了这个问题。nexus apt 存储库创建两个文件夹。一个叫
metadata
一个叫packages
。在metadata
文件夹中,文件Release
和InRelease
被Release.gpg
创建。当在 UI 中更改密钥时,这些不会自动重新生成。要强制重新生成这些文件,必须删除该文件夹并上传一个包。这将触发元数据文件夹的重新生成,其中包含所有适当的文件。完成此操作后,按键正在工作。