yum源配置在作業中會經常用到,特別是安裝資料庫時,一個個去安裝依賴包比較耗時,直接配置好yum安裝即可,
(特別提醒:redhat有時會提示系統未注冊,要求你注冊,這個只對需要連接公網的yum源產生影響,本地yum源配置不用管這個告警)
一、、yum 配置說明(此部分為轉載)
yum 的組態檔分為兩部分:main 和repository
- main 部分定義了全域配置選項,整個yum 組態檔應該只有一個main,常位于/etc/yum.conf 中,
- repository 部分定義了每個源/服務器的具體配置,可以有一到多個,常位于/etc/yum.repo.d 目錄下的各檔案中,
yum.conf 檔案一般位于/etc目錄下,一般其中只包含main部分的配置選項,
# cat /etc/yum.conf
[main] cachedir=/var/cache/yum //yum 快取的目錄,yum 在此存盤下載的rpm 包和資料庫,默認設定為/var/cache/yum keepcache=0 //安裝完成后是否保留軟體包,0為不保留(默認為0),1為保留 debuglevel=2 //Debug 資訊輸出等級,范圍為0-10,預設為2 logfile=/var/log/yum.log //yum 日志檔案位置,用戶可以到/var/log/yum.log 檔案去查詢過去所做的更新, pkgpolicy=newest //包的策略,一共有兩個選項,newest 和last,這個作用是如果你設定了多個repository,而同一軟體在不同的repository 中同時存在,yum 應該安裝哪一個,如果是newest,則yum 會安裝最新的那個版本,如果是last,則yum 會將服務器id 以字母表排序,并選擇最后的那個服務器上的軟體安裝,一般都是選newest, distroverpkg=redhat-release //指定一個軟體包,yum 會根據這個包判斷你的發行版本,默認是redhat-release,也可以是安裝的任何針對自己發行版的rpm 包, tolerant=1 //有1和0兩個選項,表示yum 是否容忍命令列發生與軟體包有關的錯誤,比如你要安裝1,2,3三個包,而其中3此前已經安裝了,如果你設為1,則yum 不會出現錯誤資訊,默認是0, exactarch=1 //有1和0兩個選項,設定為1,則yum 只會安裝和系統架構匹配的軟體包,例如,yum 不會將i686的軟體包安裝在適合i386的系統中,默認為1, retries=6 //網路連接發生錯誤后的重試次數,如果設為0,則會無限重試,默認值為6. obsoletes=1 //這是一個update 的引數,具體請參閱yum(8),簡單的說就是相當于upgrade,允許更新陳舊的RPM包, plugins=1 //是否啟用插件,默認1為允許,0表示不允許,我們一般會用yum-fastestmirror這個插件, bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum # Note: yum-RHN-plugin doesn't honor this. metadata_expire=1h installonly_limit = 5 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d
二、本地yum源配置
首先要掛載磁盤,查看之前的掛載說明文章 https://www.cnblogs.com/chxmtl/p/11672291.html
# cd /etc/yum.repos.d/
ls 會看到四個repo 檔案

CentOS-Base.repo 是yum 網路源的組態檔
CentOS-Media.repo 是yum 本地源的組態檔
修改CentOS-Base.repo名稱,系統會首先加載網路源,在使用本地源時,需要將其名稱修改,剩余兩個可以備份或者洗掉,
修改CentOS-Media.repo,在baseurl 中修改第2個路徑為/mnt/cdrom(即為光碟掛載點)如下圖,并將enabled=0改為1

配置完畢后,執行yum celan all用來清除快取,再執行yum makecache,如下圖,有兩個報錯是因為執行了兩個其他無用的baseurl,實際應用時可以刪掉,

三、網路YUM源配置
網路yum源相對于本地yum源配置,不用再掛載iso鏡像檔案,配置起來更簡單,
CentOS-Base.repo 是yum 網路源的組態檔,vi該檔案進行配置,注釋mirrolist,修改baseurl如下
[base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
按上述腳本配置完后,執行yum clean all清除快取,然后安裝vim測驗,沒問題即可,
四、以下是真實遇到過的問題及網路找到的已驗證解決方法
1、錯誤日志如下
file:///mnt/cdrom/LinuxSrc/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/mnt/cdrom/LinuxSrc/repodata/repomd.xml' Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: media. Please verify its path and try again
出現這個錯誤的根本原因在于RHEL 5.x 版本與RHEL 6.x 版本的rpm包存放路徑不同:
RHEL 5.x : ../Server 例如:我案例環境位于/mnt/cdrom/LinuxSrc/Server 下,
RHEL 6.x : ../Packages
完整解決方法:https://www.cnblogs.com/kerrycode/p/4835571.html
2、有的時候不論怎么都是提示
Error: Cannot retrieve repository metadata (repomd.xml) for repository: media. Please verify its path and try again
此時檢查本地鏡像是不是沒有mount上,
參考鏈接如下,講解的都是比較詳細
https://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html
https://www.cnblogs.com/kerrycode/p/4723637.html
阿里云yum源地址可以直接使用
http://mirrors.aliyun.com/repo/
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/162440.html
標籤:Linux
