如何指示 yum 从特定的 repo 安装特定的包 (rpm)

How to instruct yum to install a specific package (rpm) from a specific repo

如果 rpm 包在多个 repos 中可用(在 /etc/yum.repos.d/ 目录中配置),yum 会扫描所有 repo 文件并从具有最新版本的那个安装它那个包裹。

我想从一个特定的仓库下载包,我也不想完全禁用其他仓库,相反,我只想从一个特定的仓库获取一个包,并禁止它获取从其他仓库下载。

我也不想将版本用作过滤器,因为多个存储库中可能存在相同包的相同版本。

你可以告诉yum他可以使用哪些存储库:

yum --disablerepo="*" --enablerepo="<desired-repo-id>" install package-name

这不会永久 enable/disable 存储库;只是为了执行这个命令。

如果您不想禁用所有存储库,那么这里唯一的解决方案是使用 yum-priorities。这是一个插件。

$ yum install yum-plugin-priorities

然后在 /etc/yum.repos.d/*.repo 的 yum 仓库中,你可以使用,

[some_repo]
....
priority=1

注意,最低的数值代表最高的优先级。如果您的包在多个回购中可用,installation/update 将从最高优先级回购中出现。

在此处阅读更多内容:https://wiki.centos.org/PackageManagement/Yum/Priorities