无法通过自定义 yum repo 获取更高版本的 RPM

无法通过自定义 yum repo 获取更高版本的 RPM

我创建了一个自定义存储库本指南

文件通过 http (nginx) 提供。我已cd进入目录以使用 创建元数据createrepo .。我可以通过 yum 从我的自定义存储库安装包;到目前为止一切顺利。

现在我想看看升级过程是如何进行的,这就是我遇到的问题。我成功安装的第一个软件包来自构建实用程序-20130930-62.noarch.rpm

所以我创建了一个新的包构建实用程序-20131001-63.noarch.rpm,然后在 repo 目录中sudo createrepo --update .。现在我尝试一下sudo yum --nogpgcheck install build-utils,结果

Package build-utils-20130930-62.noarch already installed and latest version

我尝试通过更明确的 yum 调用来安装新版本

sudo yum --nogpgcheck install build-utils-20131001-63

结果

No package build-utils-20131001-63 available.

决定深入研究 filelists.xml 文件,看看更新是否有效,果然

<package pkgid="c12eb685ebfedf4dd3155d0910517f3eb208dac09cc36b9e971541f038a4590d" name="build-utils" arch="noarch">
    <version epoch="0" ver="20131001" rel="63"/>

所以我甚至尝试完全删除当前版本

yum remove build-utils

现在我要从头开始安装

sudo yum --nogpgcheck install build-utils

yum 仍然提供 62 版本!我甚至尝试清除 yum 缓存,su -c 'yum clean headers'但无济于事。

如何从自定义存储库获取新版本?

答案1

尝试:

yum clean all

yum -y update build-utils

repolist 被缓存在你的 yum 客户端主机上。

“清除所有已启用存储库中的所有缓存文件。不时运行很有用,以确保没有任何内容占用不必要的空间。” [1]

答案2

我已经接受了@dmourati 的回答,并且我将保留它,但是最终的解决方案是更改我的存储库配置文件,以便不缓存在此存储库上。

[customrepo]
name=Custom Repository
baseurl=http://custom/$basearch
enabled=1
metadata_expire=0

注意最后一行(再次感谢@dmourati!)。这样我就不必运行任何类型的yum clean,并且所有其他存储库的缓存仍然有效。

我禁用此存储库的缓存的原因是,这些是我们将频繁构建的专有应用程序包。也许在生产中我会允许一些缓存,但我们必须看看构建/部署系统的情况如何。

相关内容