CentOS7更換yum源和安裝EPEL源及相關報錯處理


 

為什么要更換yum源

很多時候CentOS默認的yum源不一定都是國內鏡像,所以導致yum在線安裝和更新速度都不是很理想,這時候就需要把CentOS默認的yum源更換為國內鏡像站點。而國內主要的Linux開源軟件源為網易和阿里

為什么要安裝EPEL源

通過yum源安裝某些安裝包時,會發現某些形如沒有可用的安裝包的提示,這就說明在yum源中沒有對應的安裝包。其實,在Linux操作系統可用的軟件源並不僅僅只有yum,其中另一個更為出名的就是EPEL(企業版Linux軟件附加包"Extra Packages for Enterprise Linux",是Fedora的一個項目),下面是一段 Fedora 對 EPEL 項目的說明:
EPEL-Fedora Project WiKi

企業版 Linux 附加軟件包(以下簡稱 EPEL)是一個 Fedora 特別興趣小組,用以創建、維護以及管理針對企業版 Linux 的一個高質量附加軟件包集,面向的對象包括但不限於 紅帽企業版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。
EPEL 的軟件包通常不會與企業版 Linux 官方源中的軟件包發生沖突,或者互相替換文件。EPEL 項目與 Fedora 基本一致,包含完整的構建系統、升級管理器、鏡像管理器等等。

【注】:

1、本篇操作主要針對的是CentOS7的用戶,CentOS其他用戶只需修改下載新的yum源配置文件時的鏈接即可,對於其他操作系統的用戶僅供參考
2、以下所有操作都需要在root權限下進行
3、期間會耗費將近1G的流量,建議在wifi下嘗試(流量多的無所謂)

更換yum源

# 進入yum配置文件所在文件夾
cd /etc/yum.repos.d/

# 備份系統自帶的yum源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save

 

只需添加后綴區分開來就行,旨在若更換yum失敗只需恢復自己的備份就行(即去掉后綴)

下載新的源配置文件到該目錄下

阿里源的下載方式:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

網易源的下載方式:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
清空系統所有yum源
yum clean all
生成新的yum緩存
yum makecache

至此,yum已更換成功 

相關報錯

在改動過/etc/yum.repos.d目錄下的文件后,再用yum下載軟件包的時候,可能會出現以下報錯:

Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration

分析上面的報錯,主要還是軟件源文件出現了問題,在進入源的配置文件(/etc/yum.repos.d/)后,使用查看指令,會發現有很多以.repo文件名結尾的:

ll //查看當前目錄下的文件詳細信息

 

 

 從對報錯的內容分析來看,應該是存在重復的軟件源,所以可以嘗試着刪除多余的軟件源
有如下步驟:
1、在嘗試刪除之前,先對當前目錄下所有文件進行備份

zip centos7-repo.zip /etc/yum.repos.d/*

2、然后執行刪除 

rm -rf CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo

3、把CentOS7-Base-163.repo中的內容復制進CentOS-Base.repo,即覆蓋寫入

cp -p CentOS7-Base-163.repo CentOS-Base.repo

4、刪除CentOS7-Base-163.repo

rm -rf CentOS7-Base-163.repo

5、重新加載緩存

yum clean all
yum makecache

 

至此,對該錯誤的解決已經完成,此時,再用yum指令時就不會出現類似錯誤

安裝EPEL源

安裝EPEL源
yum install -y epel-release

安裝完成后,在/etc/yum.repos.d/目錄下會多出來兩個文件,這兩個文件就是EPEL源的配置文件,如下:

epel.repo
epel-testing.repo

 

查看epel.repo文件中的內容就可以發現其中的地址指向的是:https://mirrors.fedoraproject.org/,而epel-testing.repo這個文件中的軟件源的地址也是指向的是https://mirrors.fedoraproject.org/
為了加快軟件安裝速度,我們也可以將其更改為國內的EPEL源。

進入目錄
cd /etc/yum.repos.d/
下載阿里雲EPEL源
wget http://mirrors.aliyun.com/repo/epel-7.repo
備份官方提供的EPEL源配置文件
cp -p epel.repo epel.repo.bak
cp -p epel-testing.repo epel-testing.repo.bak

 

下面三步是為了防止安裝epel源后出現形如本文中第二版塊的yum源配置文件重復而引起的報錯:

刪除epel-testing.repo文件
rm -rf epel-testing.repo
將epel-7.repo中的內容覆蓋寫入到原來的epel.repo文件中
cp -p epel-7.repo epel.repo
刪除epel-7.repo文件
rm -rf epel-7.repo
重新生成緩存
yum clean all
yum makecache

 

至此,EPEL源安裝及更換站點完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM