Cen YUM 源配置與使用方法
一、 YUM簡介
yum,是Yellow dog Updater, Modified 的簡稱,是杜克大學爲了提高RPM 軟件包安裝性而開發的一種軟件包管理器。起初是由yellow dog 這一發行版的開發者Terra Soft 研發,用python 寫成,那時還叫做yup(yellow dog updater),後經杜克大學的Linux@Duke 開發團隊進行改進,遂有此名。yum 的宗旨是自動化地升級,安裝/移除rpm 包,收集rpm 包的相關信息,檢查依賴性並自動提示用戶解決。yum 的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以是http 或ftp 站點,也可以是本地軟件池,但必須包含rpm 的header,header 包括了rpm 包的各種信息,包括描述,功能,提供的文件,依賴性等。正是收集了這些header 並加以分析,才能自動化地完成餘下的任務。
yum 的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution 的應用程序相互關係,根據計算出來的軟件依賴關係進行相關的升級、安裝、刪除等等操作,減少了Linux 用戶一直頭痛的dependencies 的問題。這一點上,yum 和apt 相同。apt 原爲debian 的deb 類型軟件管理所使用,但是現在也能用到RedHat 門下的rpm 了。
yum 主要功能是更方便的添加/刪除/更新RPM 包,自動解決包的倚賴性問題,便於管理大量系統的更新問題。
yum可以同時配置多個資源庫(Repository),簡潔的配置文件(/etc/yum.conf),自動解決增加或刪除rpm 包時遇到的依賴性問題,保持與RPM 數據庫的一致性。
二、 YUM安裝 (系統默認已安裝)
rpm -qa|grep yum 查看yum 是否已經安裝
1、yum-metadata-parser-1.1.4-10.el7.x86_64
2、yum-3.4.3-118.el7.centos.noarch
3、yum-plugin-fastestmirror-1.1.31-24.el7.noarch
4、yum-plugin-fastestmirror-1.1.31-24.el7.noarch
5、yum-plugin-fastestmirror-1.1.31-24.el7.noarch
rpm -e 加所查詢的出的軟件包全稱即可; 卸載默認yum源;
1、rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64
2、rpm -e yum-3.4.3-118.el7.centos.noarch
3、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch
4、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch
5、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch
三、重新安裝yum
這裏可以通過wget 從網上下載相關包安裝,也可以掛載系統安裝光盤進行安裝,這裏選擇掛載系統安裝光盤進行安裝。
# ls -l /dev | grep cdrom 查看已加載的光盤名稱;
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/
# rpm -ivh yum-3.2.22-33.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
上圖爲搜索需要安裝的安裝包名字。
# yum -v 詳盡的操作過程
yum 的基礎安裝包包括:
yum //RPM installer/updater
yum-fastestmirror //Yum plugin which chooses fastest repository from a mirrorlist
yum-metadata-parser //A fast metadata parser for yum
四、配置YUM文件
yum 的配置文件分爲兩部分:main 和repository
main 部分定義了全局配置選項,整個yum 配置文件應該只有一個main。常位於/etc/yum.conf 中。
repository 部分定義了每個源/服務器的具體配置,可以有一到多個。常位於/etc/yum.repo.d 目錄下的各文件中。
yum.conf 文件一般位於/etc目錄下,一般其中只包含main部分的配置選項。
vim /etc/yum.conf
配置本地YUM源
CentOS-Base.repo 是yum 網絡源的配置文件
CentOS-Media.repo 是yum 本地源的配置文件
修改CentOS-Media.repo
cat CentOS-Media.repo
# CentOS-Media.repo
#
# This repo is used to mount the default locations for a CDROM / DVD on
# CentOS-5. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c5-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c5-media [command]
[local-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///mnt/cdrom/
file:///media/cdrecorder/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#\\在baseurl 中修改第2個路徑爲/mnt/cdrom(即爲光盤掛載點)
將enabled=0改爲1
#\\禁用默認的yum 網絡源
mv CentOS-Base.repo CentOS-Base.repo.back
將yum 網絡源配置文件改名爲CentOS-Base.repo.bak,否則會先在網絡源中尋找適合的包,改名之後直接從本地源讀取。
五、關於repo 文件的格式
所有repository 服務器設置都應該遵循如下格式:
[serverid]
name=Some name for this server
baseurl=url://path/to/repository/
serverid 是用於區別各個不同的repository,必須有一個獨一無二的名稱;
name 是對repository 的描述,支持像$releasever $basearch這樣的變量;
baseurl 是服務器設置中最重要的部分,只有設置正確,才能從上面獲取軟件。它的格式是:
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
其中url 支持的協議有 http:// ftp:// file:// 三種。baseurl 後可以跟多個url,你可以自己改爲速度比較快的鏡像站,但baseurl 只能有一個,也就是說不能像如下格式:
baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/
其中url 指向的目錄必須是這個repository header 目錄的上一級,它也支持$releasever $basearch 這樣的變量。
url 之後可以加上多個選項,如gpgcheck、exclude、failovermethod 等,比如:
六、配置網絡源
163網易yum源配置信息
修改/etc/yum.repos.d/CentOS-Base.repo爲:
# CentOS-Base.repo
注意:在找到網絡源例如 163網易開源鏡像站:http://mirrors.163.com/。搜狐開源鏡像站:http://mirrors.sohu.com/中國科學技術大學:http://mirrors.ustc.edu.cn/ (IPv4+IPv6)
http://mirrors4.ustc.edu.cn/
http://mirrors6.ustc.edu.cn/
東北大學:
http://mirror.neu.edu.cn/ (IPv4 only)
http://mirror.neu6.edu.cn/ (IPv6 only)
這些網址需要查看是否存在,驗證網址是否存在,驗收地址裏是否有你需要的鏡像源。
例如配置信息
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/ #//163鏡像地址目錄-使用時需驗證網址是否存在;
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #//驗證的祕鑰網絡地址祕鑰。需驗證網址中是否存在你所需要的祕鑰;
priority=1
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#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/7/extras/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#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/7/centosplus/$basearch/
gpgcheck=0
enabled=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
配置完成!!!
使用命令測試清楚yum clean all 緩存;
在進行安裝第三方軟件安裝包例如 yum -y install ltfp
-------------------------------------------------------------------------------------------