为了澄清起见,我正在寻找如何将 yum 变量存储为命令的结果。我用来获取操作系统版本的命令与我无关,我相信有比我下面所做的更好的方法来获取它。
我想创建一个自定义 yum 变量,它是运行的结果
cat /etc/redhat-release | awk '{ print $3 }'
创建变量的文档似乎只允许在文件内创建静态变量/etc/yum/vars/$variablename
。
因此,我想要的是/etc/yum/vars/dotrelease
根据我所使用的系统获得上述命令的输出。
然后我可以将我的 baseurl repo 设置为http://localrepo.com/repo/centos/$dotrelease/os/$basearch/
我的自定义 repo 由点 release 分隔,其中默认情况下 $releasever 仅查看编号的版本,例如,centos6.4 上的 $releasever 变量是“6”。
我意识到我可以
echo (cat /etc/redhat-release | awk '{ print $3 }') > /etc/yum/vars/dotrelease
但我必须在我部署的每台机器上运行它,而不是仅仅将变量保存在文件中。
答案1
你的环境中有木偶吗?
# facter operatingsystemrelease
6.5
挺干净的...
但是在您的本地存储库中,您是否真的根据 EL 系统的定点版本分发不同的软件包?这可能没有意义,因为 EL 倾向于自动移动/更新到主要版本中的最新定点版本。例如,您不会看到很多人运行 RHEL 6.2今天,因为没有可用的更新。