私有存储库 - 更新所以可以立即提取新的rpm

时间:2012-12-29 07:30:33

标签: rpm rpmbuild

我设置了一个私有存储库(现在是本地挂载)并构建了自定义rpms。我们的想法是构建rpm,将其添加到repo,并触发yum update mypackage到几个服务器。

我遇到的问题是rpm的较新版本没有出现......而旧的rpm版本仍然存在,即使我从回购中删除了它。

我已尝试yum updateyum clean all,但它没有在我的本地回购中获取最新数据。

当我卸载软件包并重新安装它时,它会尝试安装不再存在的旧rpm,然后失败。

更新回购数据的过程是什么,以便我可以立即运行更新?

**更新**

在我写这篇文章时,我想在更新rpms之后尝试createrepo .。这允许我安装最新版本。

这是我在更新文件后应该运行的吗?

3 个答案:

答案 0 :(得分:5)

重建存储库元数据的最快方法是使用createuppo的--update标志:

createrepo --update -v /path/to/repo

这将仅处理自上次运行createrepo以来添加到您的仓库的RPM。

答案 1 :(得分:2)

Fge的评论是正确的。每次向存储库添加新rpm时,都必须运行createrepo。否则,repo元数据不会更新,因此它仍然将以前的RPM视为最新版本。

编辑:我链接到的文档解释了与Steve Goodman下面的答案相同的步骤因某些原因被删除了,请查看答案(https://stackoverflow.com/a/18604484/1263015

答案 2 :(得分:0)

我还发现我需要修改我的yum.repo.d / internal.repo文件,以包含一个metadata_expire行,它比平时更快地使元数据过期。

[internal]
metadata_expire=1h