第一部分,摘自 技术在于折腾” 博客,作者viong。博文地址:http://viong.blog.51cto.com/844766/278402

YUM顾名思义,Yellow Dog Updater, Modified. Yum为基于RPM系统做了相同的工作。它提供了一个简单的命令,可用于在首先安装和更新任何其他必要的软件包以满足所需的软件包依赖关系之后,自动化安装或更新一个软件包,类似Debianapt-get的工具.

 

YUM特点

可以同时配置多个资源库(Repository) 
简洁的配置文件(/etc/yum.conf 
自动解决增加或删除rpm包时遇到的倚赖性问题 
使用方便 
保持与RPM数据库的一致性

 

RHEL AS5可以通过Yum升级系统的功能,但默认rhel-debuginfo.repo 的设置是从RedHatYum源来升级系统,如果您没有购买Redhat的服务,Redhat5后面版本升级是收费,需要key才能升级,那么使用Yum是无法升级的。幸运的是,由于centos是免费的企业版本,可以借用centos yum源更新RHEL AS5系统.

 

配置YUM centos5源更新软件

 

[root@clinet ~]# rpm --import http://ftp.twaren.net/Linux/CentOS/RPM-GPG-KEY-CentOS-5

安装那个ftp.twaren.netGPG,也可增加其他资源库,自己选择一个离自己地理位置近点

[root@clinet ~]# rpm -qa gpg-pubkey*

检查GPG Key

gpg-pubkey-e8562897-459f07a4

如果要删除Key,使用以下命令:

[root@clinet ~]# rpm -e gpg-pubkey-e8562897-459f07a4

 

[root@clinet ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo

[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检查每个下载的RPMGnuPG签名。这么做是因为你需要适当的GnuPG key注册到您的RPM数据库。可以防止被欺骗,如:非法***发行版网站,***导入软件包,使不知情用户下载

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

GPGKEY 的存放地址

 

以上默认有的,复制添加以下更新点插入到rhel-debuginfo.repo文本里后面

                实际测试中,下面这部分必须加入,否则,这段没有效果。

 [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/

gpgcheck=1

[extras]

name=Red Hat Enterprise Linux $releasever -Extras

baseurl=http://ftp.twaren.net/Linux/CentOS/5/extras/$basearch/

gpgcheck=1

[addons]

name=Red Hat Enterprise Linux $releasever -Addons

baseurl=http://ftp.twaren.net/Linux/CentOS/5/addons/$basearch/

gpgcheck=1

[root@clinet ~]#yum clean all 清除缓存及旧的包

[root@clinet ~]# yum install httpd 测试是否能更新软件

 

注意:当第一次使用yumyum资源库有更新时,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            2.2.3-31.el5.centos.2            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]: y

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 ~]#

配置YUM 从本地光盘更新软件

[root@clinet ~]# mkdir /mnt/cdrom

创建挂载点

[root@clinet ~]# mount /dev/cdrom /mnt/cdrom

挂载光盘

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 24 03:19 rhel-debuginfo.repo

-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,插入以下代码

 

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

其实上面这样设置就已经ok,但是要更新xen.rpm,就更新不到,因为它在/mnt/cdrom/VT下面,为了比较完善,我们修改参数为以下配置

 

[Cluster] 
name=Red Hat Enterprise Linux $releasever - $basearch - Cluster 
baseurl= file:///mnt/cdrom/Cluster 
enabled=1 
gpgcheck=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 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[Server] 
name=Red Hat Enterprise Linux $releasever - $basearch - Server 
baseurl= file:///mnt/cdrom/Server
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[VT] 
name=Red Hat Enterprise Linux $releasever - $basearch - VT 
baseurl= file:///mnt/cdrom/VT 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

过程显示通前边的显示一致!

[root@clinet yum.repos.d]# yum clean all

[root@clinet yum.repos.d]# yum install httpd



第二部分摘自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,如更新kernelkernel source
#yum update kernel kernel-source
大規模的版本升級,yum update不同的是,連舊的淘汰的包也升級
#yum upgrade

rpm包的安裝和刪除
安裝rpm,xmms-mp3
#yum install xmms-mp3
刪除rpm,包括與該包有倚賴性的包
#yum remove licq
:同時會提示刪除licq-gnome,licq-qt,licq-text

yum暫存(/var/cache/yum/)的相關參數
清除暫存中rpm包文件
#yum clean packages
清除暫存中rpm頭文件
#yum clearn headers
清除暫存中舊的rpm頭文件
#yum clean oldheaders
清除暫存中舊的rpm頭文件和包文件
#yum clearn 
#yum clearn all
:相當於yum clean packages + yum clean oldheaders

包列表
列出資源庫中所有可以安裝或更新的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包的資訊

搜索rpm
搜索匹配特定字符的rpm
#yum search mozilla
:rpm包名,包描述等中搜索
搜索有包含特定文件名的rpm
#yum provides realplay

增加資源庫
例如:增加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常用的命令

# 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       升級內核;

yum常用的源

1) 自動選擇最快的源

由於yum中有的mirror速度是非常慢的,如果yum選擇了這個mirror,這個時候yum就會非常慢,對此,可以下載fastestmirror插件,它會自動選擇最快的mirror

#yum install yum-fastestmirror

配置文件:(一般不用動)/etc/yum/pluginconf.d/fastestmirror.conf

你的yum鏡像的速度測試記錄文件:/var/cache/yum/timedhosts.txt

2)使用圖形界面的yum

如果覺得命令行的yum不方便,那麼可以使用圖形化的yumex,這個看起來更方便,因為可以自由地選擇軟體倉庫:

#yum install yumex

然後在系統工具中就可以看到yum extender了。實際上系統自帶的“添加/刪除程式“也可以實現圖形化的軟體安裝,但有些yumex的功能它沒有。

 第三部:作者viong自己的更新,本人开始测试的时候按照作者的原文,使用的是sohu的镜像,可以成功的得到gpg-pubkey,但是无法获得源,不过我使用的是redhatbaseurl,可以尝试下使用sohubaseurl试试!

之前源最近好像不能用了
大家可以到http://mirror-status.centos.org/这个网站查找适合自己的源,下面推荐一个163的源

rpm --import http://mirrors.163.com/centos//RPM-GPG-KEY-CentOS-5

rpm -qa gpg-pubkey*

[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http://mirrors.163.com/centos/5//os/$basearch/
gpgcheck=1
[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=http://mirrors.163.com/centos/5//updates/$basearch/
gpgcheck=1
[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=http://mirrors.163.com/centos/5//extras/$basearch/
gpgcheck=1
[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=http://mirrors.163.com/centos/5//addons/$basearch/
gpgcheck=1

  刚刚开始学习yum,很多东西不是很明白,一点一点更新!