一、YUM的簡介
在使用rpm機制的時候,我們最鬧心的地方,可能就是軟件依賴問題了。而YUM機制恰恰幫助我們解決了這一問題。YUM,是Yellow dog Updater, Modified 的簡稱。YUM會通過分析rpm軟件包內的預設參數,制定軟件依賴的解決方法,然後自動處理軟件依賴的問題。這樣,在安裝、升級或者是卸載時,用戶就不必頭疼這個依賴問題了。
圖示YUM在線升級的原理與過程:
YUM服務器
yum客戶端
流程
知道了軟件的依賴關係,那如何解決的?YUM的理念是使用一箇中心倉庫(repository)管理一部分或是整個distribution 的應用程序的相互關係,根據計算出來的軟件依賴關係,從資源庫(repository)上自動下載這些軟件,然後從下而上(好比蓋高樓)的依次安裝相關軟件,從而解決軟件的安裝、升級、卸載等操作,減少了Linux 用戶一直頭痛的dependencies 的問題(注意,要保證你的Linux系統處於網絡狀態下)。
事實上,Linux廠商已經在全世界範圍內架設了多個資源庫(repository)基站,以供使用者進行下載,解決軟件管理問題。
二、YUM的應用
1、YUM的查詢功能
語法:yum [list|info|search|provides|whatprovides] 參數
常用案例如下:
[root@master test]# yum list all <==列出yum源倉庫裏面的所有可用的安裝包
[root@master test]# yum list installed <==列出所有已經安裝的安裝包
[root@master test]# yum list available <==列出沒有安裝的安裝包 ####安裝軟件
[root@master test]# yum info [軟件名] <==查看軟件的信息
[root@master test]# yum search [keywords] <==根據關鍵字查找到相關安裝包軟件的信息
[root@master test]# yum whatprovides [文件名] <==查找包含指定文件的相關安裝包
2、YUM的安裝/卸載功能
語法:yum [install | update| reinstall | remove ] [軟件名稱]
安裝功能也必須獲取root身份纔可以進行
常用案例如下:
[root@master test]# yum install appname <==安裝指定的軟件
[root@master test]# yum reinstall appname <==重新安裝指定的軟件
[root@master test]# yum update [appname] <==升級指定軟件,不指定軟件時,升級整個系統的軟件
[root@master test]# yum remove appname <==卸裝指定的軟件
3、YUM進行軟件組管理
語法:yum [羣組功能] [軟件羣組名稱]
常用案例如下:
[root@master test]# yum grouplist <==列出所有可使用的軟件組
[root@master test]# yum groupinstall [groupname] <==安裝一個軟件組
[root@master test]# yum groupremove [groupname] <==卸載一個軟件組
[root@master test]# yum groupinfo [groupname] <==查看一個軟件組的信息
三、YUM源的管理
1、YUM的配置信息
熟悉了YUM的用法後,我們不得不來了解一下YUM的配置,因此YUM的配置是至關重要的。這關係到YUM能否解決你的Linux系統上的軟件依賴問題。
yum 的配置文件分爲兩部分:main 和repository。
main:定義了全局配置參數,位於/etc/yum.conf 中。
[root@master yum.repos.d]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum緩存目錄,用於存儲下載的rpm包和數據庫清單。
keepcache=0 //安裝完成後是否保留軟件包,0爲不保留(默認爲0),1爲保留。
debuglevel=2 // Debug 信息輸出等級,範圍爲0-10,缺省爲2
logfile=/var/log/yum.log //yum日誌文件
exactarch=1 // 值爲1和0。1表示yum只會安裝和平臺匹配的軟件包。
obsoletes=1 //這是一個update 的參數,允許更新陳舊的RPM包。
gpgcheck=1 //指定是否需要進行 GNU Private Guard) 校驗,檢查rpm的有效和安全性
plugins=1 //是否啓用插件,默認1爲允許,0表示不允許
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release //指定一個軟件包,yum 會根據這個包判斷你的發行版本,默認是redhat-release.
repository:定義了每個源/服務器的具體配置,可以有一到多個。位於/etc/yum.repo.d 目錄下的各文件中。文件的擴展名都是.repo。
[root@master yum.repos.d]# ll
-rw-r--r--. 1 root root 1926 12月 26 09:54 CentOS-Base.repo <==是yum 網絡源的配置文件
-rw-r--r--. 1 root root 638 11月 27 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 11月 27 2013 CentOS-Media.repo <==是yum 本地源的配置文件
-rw-r--r--. 1 root root 3664 11月 27 2013 CentOS-Vault.repo
我們來看一下CentOS-Base.repo文件,其他三個文件可以自己看看。
[root@master yum.repos.d]# cat CentOS-Base.repo.bak
[base] <==資料庫的唯一標識符,我們發現,文件內配置了多個資料庫
name=CentOS-$releasever - Base <==資料庫的名稱
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os <==這個軟件庫的鏡像網址,不用可以註釋
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ <==指定一固定地址
gpgcheck=1 <==指定是否需要進行 GNU Private Guard) 校驗,檢查rpm的有效和安全性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 <==校驗用的公鑰#released updates
[updates] <==資料庫的唯一標識符
..................#additional packages that may be useful
[extras] <==資料庫的唯一標識符
...............#additional packages that extend functionality of existing packages
[centosplus]
.................
enabled=0 <==0爲禁用資料庫,默認爲1,是啓用資料庫,
.................#contrib - packages by Centos Users
[contrib]
....................
enabled=0
....................
我們可以通過【 yum repolist all】查看啓用的資料庫
[root@master yum.repos.d]# yum repolist all
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com <== *號表示:可用的資料庫和對應的服務器
repo id repo name status
C6.0-base CentOS-6.0 - Base disabled
C6.0-centosplus CentOS-6.0 - CentOSPlus disabled
C6.0-contrib CentOS-6.0 - Contrib disabled
.............. ............................ ...........
base CentOS-6 - Base enabled: 6,713
extras CentOS-6 - Extras enabled: 35
updates CentOS-6 - Updates enabled: 257
repolist: 7,005
2、YUM源的更改
幾個國內常用的YUM源
1、https://mirrors.aliyun.com/centos/,阿里的服務器
2、http://mirrors.163.com/centos,網易的開源服務器鏡像。全國用戶推薦. 下載CentOS-Base-163.repo, 放入/etc/yum.repos.d/
3、http://ftp.sjtu.edu.cn/centos/,上海交大,服務器位於北京。北方用戶與教育網用戶推薦,速度飛快。
4、http://centos.ustc.edu.cn,中國科技大學,服務器位於合肥。 南方用戶推薦。
5、http://mirrors.sohu.com/,搜狐的開源鏡像服務器,服務器位於山東省聯通。全國用戶推薦。
6、http://ftp.twaren.net/Linux/CentOS ,臺灣的高速網絡中心
7、http://ftp.ksu.edu.tw/FTP/CentOS/7/,太歪的昆大服務器
配置網易的YUM源案例:
第一步:備份原有的YUM源,以便出錯後進行還原
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
第二步:下載網易的CentOS-Base.repo 到/etc/yum.repos.d/
聯網下面語法:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
第三步:清空緩存並重置資料庫
# yum clean all
# yum makecache
-------------------------------------------------------------------------有何疑問,留言必答------------------------------------------------------------