在Linux系統的一些發行版中使用rpm工具進行軟體的管理,但是rpm使用過程中,對于程式之間的依賴關系的處理非常麻煩。是以一些發行商針對rpm工具進行了改進,在RedHat系列發行版中使用yum工具處理程式之間的依賴關系。yum是一種線上更新機制,通過這個機制,我們進行一些設定之後,在有網絡的情況下,對于程式之間的各種依賴關系,缺什麼程式,你就能在網上進行下載下傳更新了。軟體的安裝更新也變得非常簡單。
CentOS現将釋出的軟體放置到YUM伺服器内,然後分析這些軟體之間的依賴關系,将軟體内的資訊記錄下來。然後再将這些資訊分析後記錄成軟體相關性的清單清單。這些清單資料與軟體所在的位置可以稱為容器(repository)。當用戶端有軟體安裝需求時,用戶端主機會主動向網絡上面的YUM伺服器的容器網址下載下傳清單清單,然後通過清單清單的資料與本機rpm資料庫已存在的軟體資料進行比較,就能讓你一口氣下載下傳所有需要的依賴檔案了。
通過yum可以實作對于軟體的查詢,安裝,解除安裝,更新等功能,非常友善
基本操作:
* install package1 [package2] [...]:程式包安裝
* reinstall package1 [package2] [...]:重新安裝
* update [package1] [package2] [...]:程式更新
* check-update:檢查可用更新
* remove | erase package1 [package2] [...]删除程式,程式解除安裝
軟體的安裝會自動解決依賴關系,提示你下載下傳相應的軟體包。

解除安裝的過程也會自動處理依賴關系,比rpm好多了。
查詢相關資訊:
* list [...]:列出相關程式,檢視是否安裝,可以使用通配符進行比對
* info [...]:列出相關程式的詳細資訊
* provides | whatprovides feature1 [feature2] [...]:檢視指定的特性(可以是某檔案)是由哪個程式包所提供:
* history [info|list|packages-list|packages-info|summary]檢視yum事務曆史
* search string1 [string2] [...]以指定的關鍵字搜尋程式包名及summary資訊;
* deplist package1 [package2] [...]:檢視指定包所依賴的capabilities
* repolist [all|enabled|disabled]:列出倉庫的資訊
* repoinfo [all|enabled|disabled]:檢視詳細的倉庫資訊
程式緩存管理:
* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]:清除本地緩存
* makecache [fast]:建構本地緩存,對于yum鏡像庫,更新緩存檔案,以友善比對,更快的找出需要的軟體。
包組管理的相關指令:
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden] [groupwildcard] [...]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
yum的指令行選項:
--nogpgcheck:禁止進行gpg check;
-y: 自動回答為“yes”;
-q:靜默模式;
--disablerepo=repoidglob:臨時禁用此處指定的repo;
--enablerepo=repoidglob:臨時啟用此處指定的repo;
--noplugins:禁用所有插件;
系統發行商在全球部署了很多的yum伺服器,包括國内也有一些比較著名的鏡像站點:
http://mirrors.aliyun.com
http://mirrors.163.com
http://mirrors.sina.com
這些鏡像站點每天都會有發行商的yum庫進行同步,上面也有一些幫助資訊,是以我們也可以使用這些站點配置自己的yum源。
配置自己的yum源:yum配置檔案一般放在以下檔案夾中
/etc/yum.conf:為所有容器提供公共配置
/etc/yum.repos.d/*.repo:為倉庫的指向提供配置
配置檔案:/etc/yum.repos.d/*.repo,用cat指令打開之後可以看到每個配置檔案的内容
倉庫指向的定義:
[repositoryID]:容器(或者說是軟體倉庫)的名字
name=Some name for this repository:隻是說一下這個容器的意義,重要性不高
baseurl=url://path/to/repository/,設定基礎的容器位置,可以是本地的位址,也可以是ftp伺服器位址,或者網絡伺服器上的網址可以設定多個
enabled={1|0},1為打開這個容器,0為關閉
gpgcheck={1|0},是否需要查閱RPM檔案内的數字證書
gpgkey=URL:數字證書的公鑰檔案所在的位置,可以參考其他倉庫的進行設定
yum的repo配置檔案中可用的變量:
$releasever: 目前OS的發行版的主版本号;
$arch: 平台;
$basearch:基礎平台;
例:下面是對CD光牒鏡像的挂載,設定yum倉庫。