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