一、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
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