如何将 yum 指向本地 HTTP repo 到临时

How to point yum to a local HTTP repo to temporary

我处于需要指向内部托管的 yum 存储库并更新在这些存储库中找到的特定软件包的情况。有两个回购协议,一个用于 Red Hat 5.x,另一个用于 Red Hat 6.x。

在你问之前,我无法通过正常方法添加回购协议,因为这需要我不允许进行的上游更改。 (那太简单了!)因此,为什么我要问如何 运行 一个简单的 shell 脚本,并告诉 yum 指向特定软件包的 RHEL 5.x 存储库并升级到那里找到的最新包。这是为了安全补丁。

我现在这样做的可悲方式是 运行 对一堆我知道它们都是 RHEL 5 或 6 的机器的 pssh 循环,以及 运行 yum update -y http://RHEL5/package-version-arch.rpm。但是,如果混合使用多种机器,这将很难以简单的方式完成,因为我必须指向基于 OS 版本的不同存储库,并且还要找到完整的 RPM 文件名。

有什么想法吗?

尝试使用 yum 的 -c 开关提供备用配置文件,大概将 reposdir 设置为一个空目录,并在 [repository] 部分给出所需存储库的名称和基础 url。 -c 开关甚至可以指定 url 而不是本地文件名。