参考:RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置
简介
CentOS 默认自带 CentOS-Base.repo 源, 但官方源中去除了很多有版权争议的软件, 而且安装的软件也不是最新的稳定版.
Fedora 自带的源中也找不到很多多媒体软件, 如果需要安装, 必需先添加其他源, 如 RPMFusion 和 RPMForge 等第三方软件库.
常见三方源
下面我们介绍各种第三方软件库, 以下软件库适用于与 RHEL 完全兼容的 linux 发行版, 如 CentOS, Fedora, Scientific Linux.
Scientific Linux 大家可能有点陌生, 它与 CentOS 类似, 是 RedHat Linux 的克隆版.
为各种源添加优先级
安装yum-priorities`插件
如果你需要使用以上源, 则需要安装 yum-priorities
插件
yum install yum-plugin-priorities
安装完后查看配置信息
vim /etc/yum/pluginconf.d/priorities.conf
enabled = 1(可用)/0(不可用)
设置源的优先级
安装 yum-priorities
插件后, 您可以给各个源设置优先级priority
.
一般设置官方标准源优先级为 1
, 最高, 第三方推荐 >10
编辑 /etc/yum.repos.d/目录下的*.repo 文件来设置优先级。
参数为:
priority=N # N的值为1-99
数字越低优先级越高,数字越大优先级越低,安装包选择优先级高的开始安装。
推荐的设置为:
[base], [addons], [updates], [extras] … priority=1
[centosplus],[contrib] … priority=2
Third Party Repos such as rpmforge … priority=N (where N is > 10 and based on your preference)
冲突解决
特殊情况 : 但在不同优先级的源中都含有同一个包时, 它的行为可能就不是我们所需要的.
例如, 在 base 源中有个包 : abc-2.2.0.x86_64.rpm, base 是最高优先级. 在其他的优先级中也有许多 abc 包, 如果你想安装 abc-2.1.0-x86_64.rpm, 通过命令
yum install abc-2.1.0
就会出现下面的提示
xx packages excluded due to repository priority protections
并且找不到所需要的包,这是因为在高优先级源中存在的包,会将其他低优先级中的包屏蔽掉,因此无法从低优先级的源中安装所需要的包。
修改priorities的配置文件是/etc/yum/pluginconf.d/priorities.conf
其内容为:
[main]
enabled=0 # 0禁用 1启用
默认是1;设置enabled = 0, 这样就可以禁用priorities插>件。从而能够安装任意源上的包。