如果 rpm 包在多个 repos 中可用(在 /etc/yum.repos.d/ 目录中配置),yum 正在扫描所有 repo 文件并从具有该包的最新版本的那个安装它。
我希望从特定存储库下载包,也不想完全禁用其他存储库,相反,我只想从特定存储库获取一个包,并禁止从其他存储库下载它。
我也不想使用该版本作为过滤器,因为多个存储库中可能存在相同包的相同版本。
Chr*_*aes 16
你可以告诉yum他可以使用哪些存储库:
yum --disablerepo="*" --enablerepo="<desired-repo-id>" install package-name
Run Code Online (Sandbox Code Playgroud)
这不会永久启用/禁用存储库;只是为了这个命令的执行。
iam*_*ser 11
如果您不想禁用所有存储库,那么这里唯一的解决方案是使用yum-priorities. 这是一个插件。
$ yum install yum-plugin-priorities
Run Code Online (Sandbox Code Playgroud)
然后在 yum 存储库中/etc/yum.repos.d/*.repo,您可以使用,
[some_repo]
....
priority=1
Run Code Online (Sandbox Code Playgroud)
请注意,最低的数值代表最高的优先级。如果您的软件包在多个存储库中可用,则将从最高优先级的存储库进行安装/更新。
在这里阅读更多信息: https: //wiki.centos.org/PackageManagement/Yum/Priorities