在使用 reprepro 准备的公共 repo 中更新 GPG SignWith

在使用 reprepro 准备的公共 repo 中更新 GPG SignWith

我有一个公共仓库,里面有 2 个可用的软件包。它使用 进行设置,并使用 中的reprepro说明引用的 GPG 密钥对它进行签名。软件包使用 进行添加 。SignWithpublic/conf/distributionsreprepro -b public/ --ask-passphrase includedeb focal mypackage_amd64.deb

由于 GPG 密钥已过期,我现在需要设置一个新的。因此我执行了以下步骤:

  1. 生成一个新的 GPG 密钥gpg --gen-key

  2. 使用 repo 文件夹导出密钥gpg --armor --export 9B5BBD0820B7326B > repo.asc,以便用户能够wget -q http://repo.example.com/repo.asc -O- | sudo apt-key add -

  3. 更改每一SignWithpublic/conf/distributions以匹配新的 gpg。

现在,当我获得文件时(http://repo.example.com/public/conf/distributionshttp://repo.example.com/repo.asc),事情看起来是对的。

apt update仍然抱怨:

错误:1http://repo.example.com/publicfocal InRelease
以下签名无效:EXPKEYSIG 8320586119BDB444 作者[电子邮件保护]

8320586119BDB444与之前的 GPG 相对应。此过程中缺少什么?

答案1

从头到尾写下问题有时有助于弄清楚缺少了什么:)

我只需要使用以下命令重新生成 repo 文件:

reprepro -b public/ --ask-passphrase export focal
reprepro -b public/ --ask-passphrase export bionic

相关内容