yum的目的是為了解決RPM依賴關系的問題,方便使用者進行軟件的安裝、升級等工作。
RHEL5中默認提供了對YUM的支持。
yum的基本工作流程:
服務器端:在服務器上面存放了所有的RPM軟件包,然後通過命令分析每個RPM文件的依賴性,將這些數據記錄成文件存放在服務器上。(HTTP、FTP)
客戶端:安裝軟件是,通過yum服務器上記錄的依賴性關系文件,下載依賴關系需要所有相關的軟件,自動全部下載並安裝。
yum倉庫簡單來說,就是rpm包的存放位置和元數據文件
元數據文件的各種信息:
primary.xml.gz
所有rpm包的列表,有依賴關系
每個rpm包安裝生成的文件列表
filelists.xml.gz
當期那倉庫中所有rpm包的所有文件列表
other.xml.gz
額外信息,rpm包的修改日志
repomd.xml
記錄的是上面三個軟件的時間戳和校驗和
comps-rhel5-server-core.xml:rpm包的分組信息
yum倉庫配置需要有一個yum源,我們將元數據文件(repodata)指向的目錄作為yum倉庫。
光盤作為yum源:
將光盤作為yum源時,只需要將光盤掛載至一個本地目錄即可
# mount -r /dev/cdrom /media/cdrom
創建本地yum倉庫:
1、createrepo 倉庫路徑 (createrepo也需要用軟件包安裝)
# createrepo /yum/VT
(前提是將yum源中的VT目錄裡的軟件包復制到/yum目錄中)
例:# cp /media/cdrom/VT/*.rpm /yum/VT/
2、為yum定義repo文件,指定yum倉庫的路徑
3、查看repo列表及其簡要信息
如何為yum定義repo文件

在/etc/yum.repos.d/目錄下創建以.repo結尾的文件,在裡面定義如下:
[Repo_ID]
name=Description
baseurl=
ftp://
http://
file:///
enabled={1|0}
gpgcheck={1|0} # gpgkey=安全密鑰的文件路徑
 

(可定義兩個yum源)
yum的相關命令:
list:列表
all(查看倉庫中所有軟件包)
例: # yum list all zsh*
available:可用的,倉庫中有且尚未安裝的
install:已經安裝的
updates:可用的升級
repolist:顯示repo列表及其簡要信息
[all|enabled(默認)|disabled]
clean:清理緩存
[ packages | headers | metadata | dbcache | all ]
install:安裝 (可自動解決依賴關系)
yum install PACKAGES_NAME
-y:自動回答yes
--nogpgcheck:不做gpg檢查
例:# yum install -y httpd
update:升級到最新版本
uptade-to:升級為指定版本
remove | erase:卸載
-y:自動回答yes
info:顯示rpm包的簡要信息 相當於"rpm -qi"
yum info PACKAGE_NAME
provides | whatprovides:查看指定的文件或特性是由那個包安裝生成 相當於“rpm -qf"
groupinstall:創建組
groupupdate:升級組
grouplist:顯示組列表及其簡要信息
groupremove:刪除組
groupinfo:顯示一個組中安裝的軟件包
localinstall:本地安裝
yum localinstall /path/to/PACKAGE_FILE
--nogpgcheck:不做gpg檢查,即不檢查其安全性和完整性
例:# yum localinstall -y httpd-devel-2.2.3-63.el5.i386.rpm
localupdate:本地升級
以上即為使用yum倉庫安裝、卸載軟件的過程。
本文出自 “對著陽光微笑著” 博客,請務必保留此出處http://dongld.blog.51cto.com/4234800/1156752