Fedora27 源配置
阅读原文时间:2023年07月09日阅读:1

一、添加阿里源,阿里源我感觉是现在国内比较好用的源,支持的发行版比较全。
配置方法
1、备份系统自带的源
mv /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.backup                                         #主源
mv /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.backup             #更新源

2、下载新的fedora.repo和fedora-updates.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/fedora.repo http://mirrors.aliyun.com/repo/fedora.repo                                          #主源

wget -O /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.repo              #更新源

或者

curl -o /etc/yum.repos.d/fedora.repo http://mirrors.aliyun.com/repo/fedora.repo

curl -o /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.repo

4、阿里源官方网址有各发行版的源和帮助文档
https://opsx.alibaba.com/mirror

二、添加RPMFusion源

安装好Fedora系统后,我们需要下载必须的软件。但是却发现视频播放器vlc没有,万能播放器mplayer没有,系统自带的播放器没有解码器等等一系列问题,
这些问题都可以通过添加第三方软件源RPMFusion来解决,使用过Fedora ,对RPMFusion一定不会陌生,各种音频软件如MPlayer在标准源中是没有的,一般先安装RPMFusion源,
之后就可以方便安装所需的软件了。
1、安装
在去RPMFusion官方网站Configuration标签页下载RPM Fusion free for Fedora 27和RPM Fusion nonfree for Fedora 27安装包进行源的安装。
sudo rpm -ivh rpmfusion-free-release-27.noarch.rpm                    #安装下载的rpm源安装文件,自由软件源
sudo rpm -ivh rpmfusion-nonfree-release-27.noarch.rpm              #安装下载的rpm源安装文件,非自由软件源
官方网址:
https://rpmfusion.org/Configuration

三、添加Fedora 中文社区软件源
Fedora 中文社区 (FZUG) 创建并维护此软件源,为 Fedora 中文用户提供更为丰富的软件包。它提供诸如“有道词典”、“为知笔记”等原本在Windows上运行的软件。

1、安装
去Fedora 中文社区软件源网址下载fzug-release-27-0.2.noarch.rpm软件源安装包
sudo rpm -ivh fzug-release-27-0.2.noarch.rpm                    #安装下载的rpm源安装文件  
网址:
https://repo.fdzh.org/                                                          #官方网站
https://repo.fdzh.org/FZUG/free/27/x86_64/noarch/            #FZUG rpm源下载网址

四、更新系统源
sudo dnf clean all                      #清楚yum下载的软件包和缓存
sudo dnf makecache                #生成缓存

五、设置软件源的优先级

当系统有多个软件源时,要安装某一个软件,并且这个软件在多个源里面都有时,我们肯定希望用最优质的源来下载软件,而且不同的软件源之间并不能保证软件的完全兼容没有冲突。所以我们需要设置软件源的优先级。yum-plugin-priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。您需要安装yum-plugin-priorities插件。

1、安装yum-plugin-priorities插件

[root@Fedora ~]# yum install yum-plugin-priorities.noarch

2、查看插件是否可用
yum-plugin-priorities 插件的配置文件是/etc/yum/pluginconf.d/priorities.conf,先确认其是否存在,后查看
其内容为:
[main]
enabled=1   # 0禁用 1启用

3、设置优先级
前两项完成后,您可以编辑/etc/yum.repos.d/目录下所有的.repo文件,给所有的源设置优先级(priority)。priority的优先级为1到99,设置为1即优先级最高,1-10为系统保留,第三方yum源的优先级从11-99 。一般官方的源文件fedora.repo下的[fedora] 这个源设置为 priority=1
 另外两个[fedora-debuginfo],[fedora-source] 源设置成 priority=2 ,默认这两个源是关闭的。一个源文件下面可以有多个源,每个源都要设置,更新fedora-updates.repo源文件里面的[updates] 源优先级也设成1。
其他第三方软件源的源文件中的源设置为:priority=N (推荐N>10,并且每个类型的源推荐从n0开始,n为1-9的数字,比如10,20,30,这样源下面的细分源以后也方便添加级别)

4、编辑官方源文件 /etc/yum.repos.d/fedora.repo 编辑如下:
-------------------------------------------------------------------------------------------------------
[root@Fedora yum.repos.d]# vi fedora.repo
[fedora]                                #源名称,必填
name=Fedora $releasever - $basearch     #源描述,可以不填,但是会有提示
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch    #源地址
enabled=1                               #是否开启这个源,enabled=0为关闭,enabled=1为开启
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1                              #是否开启校验,在yum.conf中已经定义它默认值为1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch     #如果开启yum源包校验,则需要导入RPM公钥
skip_if_unavailable=False
gpgcheck=1                              #设置[fedora]源优先级为1

[fedora-debuginfo]                      #[fedora-debuginfo]源,默认关闭就可以。
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
priority=1
[root@Fedora yum.repos.d]#

----------------------------------------------------------------------------------------------------------
5、编辑[rpmfusion-free]第三方源优先级
----------------------------------------------------------------------------------------------------------
[root@Fedora yum.repos.d]# vi rpmfusion-free.repo
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=14d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
priority=10                    #设置[fedora]源优先级为11

[rpmfusion-free-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

[rpmfusion-free-source]
name=RPM Fusion for Fedora $releasever - Free - Source
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/source/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

[root@Fedora yum.repos.d]#

--------------------------------------------------------------------------------------------------------------
6、其他第三方源的优先级设置这里就不介绍了,/etc/yum.repos.d/目录下文件名后缀为.repo的文件都是源文件,里面对应的源都需要设置,最好不要添加太多源
官方源和rpmfusion源就够了,如果这里没有想要的软件在进行其他源的添加,添加过多的源维护起来麻烦,还容易造成软件源的冲突。
7、特殊情况:在不同优先级的源中都含有同一个包时,它的行为可能就不是我们所需要的。例如,在官方源中有个包:bck.1.11.x86_64.rpm,官方源是最高优先级。在其他的多个源中也有bck这个包的不同版本,比如bck的版本为bck.1.21.x86_64.rpm,通过命令安装bck.1.21.x86_64.rpm
yum install bck.1.21.x86_64.rpm
就会出现下面的提示
    xx packages excluded due to repository priority protections
并且找不到所需要的包,这是因为在高优先级源中存在的包,会将其他低优先级中的包屏蔽掉,因此无法从低优先级的源中安装所需要的包。

解决办法是禁用yum-plugin-priorities插件,将/etc/yum/pluginconf.d/priorities.conf文件中的enabled=1改称enabled=0
默认是1;设置enabled = 0,这样就可以禁用priorities插件。从而能够安装任意源上的包。

或者把高优先级的软件源关闭,就是在对应源文件的源位置后面添加enabled=0,有的就将enabled=1改为enabled=0
例如关闭[rpmfusion-free]源

[root@Fedora yum.repos.d]# vi rpmfusion-free.repo
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
enabled=1                   #将enabled=1改为enabled=0关闭 [rpmfusion-free]源
metadata_expire=14d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
……   
            
六、显示当前可用源列表

[root@CentOS yum.repos.d]# yum repolist
[root@Fedora yum.repos.d]# dnf repolist
上次元数据过期检查:0:31:06 前,执行于 2018年04月19日 星期四 21时16分56秒。
仓库标识                    仓库名称                                      状态
*fedora                     Fedora 27 - x86_64                            54,801
*rpmfusion-free             RPM Fusion for Fedora 27 - Free                  574
*rpmfusion-free-updates     RPM Fusion for Fedora 27 - Free - Updates        226
*rpmfusion-nonfree          RPM Fusion for Fedora 27 - Nonfree               205
*rpmfusion-nonfree-updates  RPM Fusion for Fedora 27 - Nonfree - Updates      72
*updates                    Fedora 27 - x86_64 - Updates                  13,768
[root@Fedora yum.repos.d]#