发布于2026-08-19 阅读(0)
扫一扫,手机访问
必须安装并启用yum-plugin-priorities插件,因为CentOS 7默认不支持priority参数,该插件是唯一使priority=N配置生效的机制;未安装时,yum会无序尝试所有启用源,导致包冲突或安装非预期版本。

yum-plugin-priorities 才能生效CentOS 7默认情况下不会启动仓库优先级控制,yum会随意地依次尝试所有已启用的源。这就可能导致冲突包(比如版本或签名不同但同名的python3或openssl)从质量较低的源进行安装。只有安装了yum-plugin-priorities并将其启用后,priority=参数才会生效。
常见错误现象:yum install 报 Package conflicts 或安装了旧版包;yum repolist 显示多个源都 enabled,但实际没走预期源。
yum list installed | grep prioritiesyum install -y yum-plugin-prioritiescat /etc/yum/pluginconf.d/priorities.conf,确保 [main] 下有 enabled=10,手动改写为 1 并保存priority= 数值设多少才合理数值越小优先级越高,但不能全设成 1 —— 否则等于没设。关键是要拉开差距,且基础源必须压倒扩展源。
典型配置逻辑:
base、updates、extras 这些最新核心仓库:统一设 priority=1priority=2 或 3,避免覆盖系统关键包priority=10 起,明确降级file:///mnt/cdrom):可设 priority=1,但必须确保其内容完整且 GPG 可信,否则会卡住安装注意:priority 是 per-repo 的,必须写在每个 [repo-id] 小节里,不能只写在文件开头。
yum makecache 还是走错源缓存重建不等于优先级重载 —— yum makecache 只刷新元数据,但不会重新评估仓库顺序。真正生效要靠 yum 运行时按 priority 排序匹配。
验证方式不是看缓存速度,而是看具体命令行为:
yum --showduplicates list python3 | head -10,观察包来源列(from 字段)是否为你设的高优源yum install -y httpd 时加 -v 参数:yum -v install httpd,输出里会显示 “using repo: base” 或类似提示yum repolist enabled,结果末尾应带 priority 列(需 yum 3.4.3+ 支持)如果仍走错,大概率是某个 repo 文件漏写了 priority=,或拼写错误(比如写成 priotity),或该 repo 的 enabled=0 被意外关闭。
阿里云和清华各自维护独立的 EPEL 镜像,但它们的 epel-release 包版本可能不一致。直接混用会导致 yum update 升级时因签名冲突失败。
正确做法:
baseurl=https://mirrors.aliyun.com/centos/7/os/$basearch/epel-release 包:rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpmyum install epel-release —— 它默认装的是最新源的包,GPG key 不匹配清华镜像/etc/yum.repos.d/epel.repo,确认 gpgkey 指向清华:https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-7优先级数字本身不解决签名问题,但错误的 GPG key 会让整个 repo 被 yum 拒绝加载,此时 priority 再低也没意义。
priority=1 就只是注释。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9