RedHat5上配置YUM方法以及YUM的使用方法

一、YUM的配置方法

在REDHAT 5以后,加入了YUM这个新功能,可以解决RPM包的依赖关系,但不注册RHN的话不这个功能是不能使用的,我们可以使用光盘中自带的RPM包自己动手搭建个本地源,或者更改更新源到开源的网站。

而限定yum更新地址的文件在/etc/yum.repos.d/里。首先把系统自带的”rhel-debuginfo.repo“改成备份文件,即在后面加.bak

# mv /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.bak 

1.方法一(使用RedHat光盘中RPM搭建本地YUM):

(1).将光盘中的Cluster,  ClusterStorage,  Server,  VT,这几个文件COPY到本地目录中,比如我的为/yum/目录

(2).编辑/etc/yum.repos.d/rhel-debuginfo.repo文件,如我的配置文件为

[Cluster]

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

baseurl=file:///yum/Cluster/

enabled=1

gpgcheck=1

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

[ClusterStorage]

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

baseurl=file:///yum/ClusterStorage

enabled=1

gpgcheck=1

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

[Server]

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

baseurl=file:///yum/Server

enabled=1

gpgcheck=1

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

[VT]

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

baseurl=file:///yum/VT

enabled=1

gpgcheck=0

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

解释下相关选项意思

[] 中的为我的/yum/目录下的文件名称

名称而已,随意都行

源目录路径

enabled 这一定要设为1.要不然,[ ]选项下的设置不生效

pgpcheck 是否使用gpg验证RPM包的不可抵赖性,设为0可以省不少事,如果一定要设验证的话,必须保证(6)中的公钥正确

如果上一项设为1的话这项须设置

(3).安装createrepo命令包,使用此命令创建RPM包依赖性关系,格式为createrepo /yum/Server/,源目录下的所有目录都运行一次,些命令会在指定目录下生成

一个repodata,其中有记录依赖性的关系文件.

2.方法二(使用CentOS的RPM升级站点):

(1).通过 http://mirror-status.centos.org 网站查找离自己最近的镜像站点

(2).创建和修改/etc/yum.repos.d/centos.repo

#vim /etc/yum.repos.d/centos.repo
[base]
name=Red Hat Enterprise Linux $releasever – Base
baseurl=http://centos.ustc.edu.cn/centos/5.4/os/$basearch/
enabled=1
gpgcheck=1
[update]
name=Red Hat Enterprise Linux $releasever – Update
baseurl=http://centos.ustc.edu.cn/centos/5.4/updates/$basearch/
enabled=1
gpgcheck=1
[extras]
name=Red Hat Enterprise Linux $releasever – Extras
baseurl=http://centos.ustc.edu.cn/centos/5.4/extras/$basearch/
enabled=1
gpgcheck=1
[addons]
name=Red Hat Enterprise Linux $releasever – Addons
baseurl=http://centos.ustc.edu.cn/centos/5.4/addons/$basearch/
enabled=1
gpgcheck=1
[centosplus]
name=Red Hat Enterprise Linux $releasever – centosplus
baseurl=http://centos.ustc.edu.cn/centos/5.4/centosplus/$basearch/
enabled=1
gpgcheck=1
[contrib]
name=Red Hat Enterprise Linux $releasever – contrib
baseurl=http://centos.ustc.edu.cn/centos/5.4/contrib/$basearch/
enabled=1
gpgcheck=1
(3).下载并导入KEY
#cd /etc/pki/rpm-gpg 
#wget http://http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 
#rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-GentOS-5

 

3.方法三(使用RPMforge):

(1).到http://rpmfind.net/linux/RPM/找到这个包,然后安装

#rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm 

我这安装地址是
#wget ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

(2).然后导入KEY

#rpm –import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 

(3).加速YUM

#yum install yum-fastestmirror yum-presto

可以在baseurl中将比较慢的mirror去掉 ,你的yum镜像的速度测试记录文件: /var/cache/yum/timedhosts.txt 

yum Existing lock 错误的解决办法 
如果系统启动的时候, yum 出现Existing lock /var/run/yum.pid: another copy is running as pid 3380. Aborting. 可以用下面的办法解决: 
#/etc/init.d/yum-updatesd stop 
也可以用以下方法: 
#rm -f /var/run/yum.pid 
主要原因就是yum在自动更新只要关掉它就可以了 

注意:如果风速慢的话可以通过增加yum的超时时间,这样就不会总是因为超时而退出。

#vi /etc/yum.conf 
加上这么一句:timeout=120 

二、YUM的使用方法

注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长. 

1.rpm包的更新 

// 检查可更新的rpm包 

#yum check-update 

// 更新所有的rpm包 

#yum update 

// 更新指定的rpm包,如更新kernel和kernel source 

#yum update kernel kernel-source 

// 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 

#yum upgrade

2.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 

3.包列表 

// 列出资源库中所有可以安装或更新的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包 

4.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包的信息 

5.搜索rpm包 

// 搜索匹配特定字符的rpm包 

#yum search mozilla 

// 注:在rpm包名,包描述等中搜索 

// 搜索有包含特定文件名的rpm包 

#yum provides realplay

Leave a Reply