![yum repo 配置文件中是否有变量保存发行版名称/ID?](https://linux22.com/image/184273/yum%20repo%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%98%E9%87%8F%E4%BF%9D%E5%AD%98%E5%8F%91%E8%A1%8C%E7%89%88%E5%90%8D%E7%A7%B0%2FID%EF%BC%9F.png)
有 $releasever 可以用来识别版本。但我托管了一个包含 fedora 和 centos rpm 的存储库。如果有变量保存发行版名称/ID,我可以使用统一的 yum 存储库配置。
答案1
请参阅手册页的man yum.conf
变量部分。正如 fpmurphy 指出的那样,没有任何变量可以完全满足您的要求。
您也许可以使用 shell 变量YUM0
,YUM9
但需要在每台机器上本地设置它们。它们还需要由任何进程(例如 yum cron 作业)设置。
任何计算机还设置了一个(唯一的)UUID,$uuid
因此您可以为两个构建目标创建一个文件夹,然后为客户端计算机的每个 UUID 添加符号链接以指向相关文件夹。
您可以通过在您自己的 yum 存储库地址中使用 UUID,然后检查服务器访问日志来找出 UUID 是什么。
答案2
对于完整转储,您可以使用:
$ yum config-manager --dump
或 $ dnf config-manager --dump
要转储变量,您可以使用:
$ yum config-manager --dump-variables
或 $ dnf config-manager --dump-variables
yum-config-manager
也可用,但通常会重定向到 DNS 配置管理器插件
从https://linux.die.net/man/5/yum.conf:
$releasever 这将替换为 distroverpkg 中列出的软件包版本的值。这默认为“redhat-release”包的版本。
文件
/etc/yum.conf
/etc/yum.repos.d/
/etc/yum/pluginconf.d/
/etc/yum/protected.d
/etc/yum/vars