<b>YUM</b>顧名思義,Yellow Dog Updater, Modified. Yum為基于RPM系統做了相同的工作。它提供了一個簡單的指令,可用于在首先安裝和更新任何其他必要的軟體包以滿足所需的軟體包依賴關系之後,自動化安裝或更新一個軟體包,類似Debian下apt-get的工具.
YUM的<b>特點</b>:
可以同時配置多個資源庫(Repository)
簡潔的配置檔案(/etc/yum.conf
自動解決增加或删除rpm包時遇到的倚賴性問題
使用友善
保持與RPM資料庫的一緻性
RHEL AS5可以通過Yum更新系統的功能,但預設<b>rhel-debuginfo.repo </b>的設定是從RedHat的Yum源來更新系統,如果您沒有購買Redhat的服務,Redhat5後面版本更新是收費,需要key才能更新,那麼使用Yum是無法更新的。幸運的是,由于centos是免費的企業版本,可以借用centos yum源更新RHEL AS5系統.
<b>配置YUM 從centos5源更新軟體</b>
安裝那個<b>ftp.twaren.net</b>的GPG,也可增加其他資源庫,自己選擇一個離自己地理位置近點
[root@clinet ~]# <b>rpm -qa gpg-pubkey*</b>
檢查GPG Key
gpg-pubkey-e8562897-459f07a4
如果要删除Key,使用以下指令:
[root@clinet ~]# <b>rpm -e gpg-pubkey-e8562897-459f07a4</b>
<b> </b>
[root@clinet ~]# <b>vi /etc/yum.repos.d/rhel-debuginfo.repo</b>
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
baseurl是你的YUM源位址
enabled=0
是否啟用這個倉庫,1為起用,0為禁用
gpgcheck=1
設定gpgcheck=1會讓yum檢查每個下載下傳的RPM的GnuPG簽名。這麼做是因為你需要适當的GnuPG key注冊到您的RPM資料庫。可以防止被欺騙,如:非法入侵發行版網站,木馬導入軟體包,使不知情使用者下載下傳
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
GPGKEY 的存放位址
<b>以上預設有的,複制添加以下更新點插入到rhel-debuginfo.repo</b><b>文本裡後面</b>
[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http://ftp.twaren.net/Linux/CentOS/5/os/$basearch/
gpgcheck=1
[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=http://ftp.twaren.net/Linux/CentOS/5/updates/$basearch/
[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=http://ftp.twaren.net/Linux/CentOS/5/extras/$basearch/
[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=http://ftp.twaren.net/Linux/CentOS/5/addons/$basearch/
[root@clinet ~]#<b>yum clean all </b>清除緩存及舊的包
[root@clinet ~]# <b>yum install httpd </b>測試是否能更新軟體
<b>注意</b>:當第一次使用yum或yum資源庫有更新時,yum會自動下載下傳所有所需的headers放置于/var/cache/yum目錄下,所需時間可能較長.請耐心等待,是以後面會顯示一連串資料.
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
addons | 951 B 00:00
primary.xml.gz | 201 B 00:00
base | 2.1 kB 00:00
primary.sqlite.bz2 | 1.6 MB 00:34
update | 1.9 kB 00:00
primary.sqlite.bz2 | 463 kB 00:09
extras | 1.1 kB 00:00
primary.xml.gz | 107 kB 00:01
extras 325/325
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-31.el5.centos.2 set to be updated
filelists.xml.gz | 194 B 00:00
filelists.sqlite.bz2 | 2.3 MB 00:49
filelists.sqlite.bz2 | 3.3 MB 01:13
filelists.xml.gz | 151 kB 00:02
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================
Package Arch Version Repository Size
Installing:
httpd i386 <b> 2.2.3-31.el5.centos.2 </b> update 1.2 M
Transaction Summary
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 1.2 M
Is this ok [y/N]: <b>y</b>
Downloading Packages:
httpd-2.2.3-31.el5.centos.2.i386.rpm | 1.2 MB 00:26
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : httpd [1/1]
Installed: httpd.i386 0:2.2.3-31.el5.centos.2
Complete!
說明可以用yum安裝軟體了
[root@clinet ~]#
<b>配置YUM 從本地CD光牒更新軟體</b>
[root@clinet ~]# mkdir /mnt/cdrom
建立挂載點
[root@clinet ~]# mount /dev/cdrom /mnt/cdrom
挂載CD光牒
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@clinet /]# ll /etc/yum.repos.d/
total 4
-rw-r--r-- 1 root root 781 Feb 24 03:19 rhel-debuginfo.repo
[root@clinet /]# cd /etc/yum.repos.d/
[root@clinet yum.repos.d]# cp rhel-debuginfo.repo rhel-debuginfo.repo.bak
拷貝為rhel-debuginfo.repo.bak做備份
[root@clinet yum.repos.d]# ll
total 8
-rw-r--r-- 1 root root 781 Feb 25 00:34 rhel-debuginfo.repo.bak
[root@clinet yum.repos.d]# vi rhel-debuginfo.repo
編輯rhel-debuginfo.repo,插入以下代碼
baseurl=file:///mnt/cdrom/Server
enabled=1
其實上面這樣設定就已經ok,但是要更新xen.rpm,就更新不到,因為它在/mnt/cdrom/VT下面,為了比較完善,我們修改參數為以下配置
[Cluster]
name=Red Hat Enterprise Linux $releasever - $basearch - Cluster
baseurl= file:///mnt/cdrom/Cluster
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - ClusterStorage
baseurl= file:///mnt/cdrom/ClusterStorage
[Server]
name=Red Hat Enterprise Linux $releasever - $basearch - Server
baseurl= file:///mnt/cdrom/Server
[VT]
name=Red Hat Enterprise Linux $releasever - $basearch - VT
baseurl= file:///mnt/cdrom/VT
[root@clinet yum.repos.d]# yum clean all
清除緩存及舊的包
Cleaning up Everything
[root@clinet yum.repos.d]# yum install httpd
測試是否能更新軟體
rhel-debuginfo | 1.3 kB 00:00
primary.xml.gz | 716 kB 00:00
rhel-debuginfo 2255/2255
---> Package httpd.i386 0:2.2.3-22.el5 set to be updated
filelists.xml.gz | 2.3 MB 00:00
==================================================================================================================================
Package Arch Version Repository Size
httpd i386 2.2.3-22.el5 rhel-debuginfo 1.2 M
Is this ok [y/N]: y
Installing : httpd [1/1]
Installed: httpd.i386 0:2.2.3-22.el5
Complete!
說明測試成功
以下是拷貝了KABALA的博文,覺得挺詳細,就拿出來供大家參考,博文位址:
http://211.89.225.4:82/gate/big5/blog.cnr.cn/?uid-18-action-viewspace-itemid-8099
yum指令
rpm包的更新
檢查可更新的rpm包
#yum check-update
更新所有的rpm包
#yum update
更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source
大規模的版本升級,與yum update不同的是,連舊的淘汰的包也升級
#yum upgrade
<b>rpm包的安裝和刪除</b>
安裝rpm包,如xmms-mp3
#yum install xmms-mp3
刪除rpm包,包括與該包有倚賴性的包
#yum remove licq
注:同時會提示刪除licq-gnome,licq-qt,licq-text
yum暫存(/var/cache/yum/)的相關參數
<b>清除暫存中rpm</b><b>封包件</b>
#yum clean packages
清除暫存中rpm頭檔案
#yum clearn headers
清除暫存中舊的rpm頭檔案
#yum clean oldheaders
清除暫存中舊的rpm頭檔案和封包件
#yum clearn 或#yum clearn all
注:相當於yum clean packages + yum clean oldheaders
<b>包清單</b>
列出資源庫中所有可以安裝或更新的rpm包
#yum list
列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包
#yum list mozilla#yum list mozilla*
注:可以在rpm包名中使用比對符,如列出所有以mozilla開頭的rpm包
列出資源庫中所有可以更新的rpm包
#yum list updates
列出已經安裝的所有的rpm包
#yum list installed
列出已經安裝的但是不包含在資源庫中的rpm包
#yum list extras
注:通過其他網站下載安裝的rpm包
rpm包資訊顯示(info參數同list)
列出資源庫中所有可以安裝或更新的rpm包的資訊
#yum info
列出資源庫中特定的可以安裝或更新以及已經安裝的rpm包的資訊
#yum info mozilla#yum info mozilla*
注:可以在rpm包名中使用比對符,如列出所有以mozilla開頭的rpm包的資訊
列出資源庫中所有可以更新的rpm包的資訊
#yum info updates
列出已經安裝的所有的rpm包的資訊
#yum info installed
列出已經安裝的但是不包含在資源庫中的rpm包的資訊
#yum info extras
注:通過其他網站下載安裝的rpm包的資訊
<b>搜尋rpm包</b>
搜尋比對特定字元的rpm包
#yum search mozilla
注:在rpm包名,包描述等中搜尋
搜尋有包含特定檔案名的rpm包
#yum provides realplay
<b>增加資源庫</b>
例如:增加rpm.livna.org作為資源庫
安裝Livna.org rpms GPG key
#rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
檢查GPG Key
# rpm -qa gpg-pubkey*
顯示Key資訊
#rpm -qi gpg-pubkey-a109b1ec-3f6e28d5
(注:如果要刪除Key,使用#rpm -e gpg-pubkey-a109b1ec-3f6e28d5)
# yum install xxx 安裝xxx軟體
# yum info xxx 檢視xxx軟體的資訊
# yum remove xxx 刪除套裝軟體
# yum list 列出套裝軟體
# yum clean 清除緩沖和舊的包
# yum provides xxx 以xxx為關鍵字搜尋包(提供的資訊為關鍵字)
# yum search xxx 搜尋套裝軟體(以名字為關鍵字)
# yum groupupdate xxx
# yum grouplist xxx
# yum groupremove xxx
這三個都是一組為單位進行升級 清單和刪除的操作。。比如 "Mysql Database"就是一個組會同時操作相關的所有套裝軟體;
# yum update 系統升級
# yum list available 列出所有升級源上的包;
# yum list updates 列出所有升級源上的可以更新包;
# yum list installed 列出已經安裝的包;
# yun update kernel 升級內核;
<b>yum常用的源</b>
<b>1) 自動選擇最快的源</b>
由於yum中有的mirror速度是非常慢的,如果yum選擇了這個mirror,這個時候yum就會非常慢,對此,可以下載fastestmirror插件,它會自動選擇最快的mirror:
#yum install yum-fastestmirror
配置檔案:(一般不用動)/etc/yum/pluginconf.d/fastestmirror.conf
你的yum鏡像的速度測試記錄檔案:/var/cache/yum/timedhosts.txt
<b>2)使用圖形界面的yum</b>
如果覺得指令行的yum不友善,那麼可以使用圖形化的yumex,這個看起來更友善,因為可以自由地選擇軟體倉庫:
#yum install yumex
然後在系統工具中就可以看到yum extender了。實際上系統自帶的“添加/刪除程式“也可以實現圖形化的軟體安裝,但有些yumex的功能它沒有。
本文轉自viong 51CTO部落格,原文連結:http://blog.51cto.com/viong/278402,如需轉載請自行聯系原作者