我已经创建了 yum 存储库,并向其上传了一个未签名的 rpm 文件。
我已经通过创建包含以下文件的 repodata 目录对 repo 本身进行了索引和签名:
文件列表.xml.gz,
其他.xml.gz,
主.xml.gz,
repomd.xml,
repomd.xml.asc,
repomd.xml.key(我用来签署 repomd.xml.asc 的公钥)
在客户端,我创建了一个新的 repo 配置文件,位于:/etc/yum.repos.d,并设置 gpgcheck=1,以便进行签名检查。
当使用“yum install”时,似乎 repomd.xml.asc 和 repomd.xml.key 被忽略,只有 rpm 文件的签名才能通过签名检查。
我的印象是,签署 repo 并放置 repomd.xml.asc 和 repomd.xml.key 而不是单独签署每个 rpm 文件。
- 这个假设是错误的吗?
- 签署回购协议有什么好处吗?
- 还有其他方法可以对 repo 进行签名,并绕过对每个 rpm 包进行签名的需要吗?
*在 Oracle vm 上使用 centos 6.6 *
提前致谢。
答案1
答案如下。 1:gpgcheck 控制下载后验证包签名,而不是存储库。 2:对存储库进行签名提供了一种验证存储库元数据未被篡改的方法。尽管从 FQDN 下载时好处不大,但这是一个好处。 3)您可以使用单个 rpm 命令重新签署存储库中的所有软件包。
答案2
为了让 yum 检查存储库签名,您需要在 /etc/yum.repos.d 中向存储库添加一个选项:
repo_gpgcheck=1
如果您没有gpgcheck=0
在该文件中单独签署您的 rpm。