我可以让 yum 覆盖 /etc/yum/vars/ 内容,或者使用不同的方式写入默认的次要版本吗?

我可以让 yum 覆盖 /etc/yum/vars/ 内容,或者使用不同的方式写入默认的次要版本吗?

我的系统必须运行在 CentOS 7.3 上才能使某些 SAN FibreChannel 软件正常工作。我知道理论上如果某些东西可以在任何 7.x 中运行,它也应该在最新的 7.x 中运行,但制造商非常清楚我们不能使用 7.9。从长远来看,我们计划一起放弃这家制造商和 FibreChannel。

如果我运行sudo yum update它会尝试将系统更新到 7.9

如果我运行sudo yum update --releasever=7.3.1611它,它会尝试保持 7.3 更新,除非我将保管库条目添加到/etc/yum.repos.d/文件中,否则会失败,这很好。但我希望 7.3 成为默认值,以防我或其他人忘记并yum update在将来某个时候运行

如果我/etc/yum/vars/releasever使用内容创建7.3.1611,那么这将成为默认行为,并将sudo yum update尝试保持 7.3 更新

但是,这是我的问题,有时我想安装一些东西并使用主要的 7.x 存储库。如果我sudo yum update --releasever=7在 my/etc/yum/vars/releasever存在时运行,那么命令行选项不会推翻默认值,并且它的行为与我运行时完全相同sudo yum update

所以现在如果我想更新到最新版本的 Firefox,我必须运行echo '7' | sudo tee /etc/yum/vars/releasever && sudo yum update firefox ; echo '7.3.1611' | sudo tee /etc/yum/vars/releasever它,它可以工作,但很 hacky。当我以覆盖 的内容的方式调用 yum 时,有什么方法可以指定 yum 变量吗/etc/yum/vars?或者是否有其他地方可以指定 yum 版本,当我运行 yum 时可以覆盖该版本?或者有没有更好的方法让我这样做,这样我就可以安装软件包,而不会冒着如果有人运行而破坏所有内容的风险yum update

我读到该版本也可以读取,/etc/yum.conf但我尝试在其中添加一行distroverpkg=7.3.1611并删除/etc/yum/vars/releasever,它似乎没有做任何事情,并且据说该方法仅适用于许可的 RHEL,不适用于 CentOS。

相关内容