1:yum仓库的方式
软件仓库的提供方式有三种:
file://
ftp://
http://
RPM软件包的来源:
Red Hat发布的RPM包集合:如bind,lynx,gcc等
第三方、用户自定义的RPM包集合:如qq,realplay等软件
注:来自第三方的软件如果和yum库的软件包有依赖关系,解决办法:附2
2:配置yum客户端
.repo基本配置项:(该文件存在于/etc/yum.repos.d/目录下,在rhel5版本中有一个模板文件名字为:rhel-debuginfo.repo,可以自己创建一个以.repo结尾的文件来制定yum客户端的配置)
[源名称]:这个是自定义的,具有唯一性,所以不要和其他的源名称相同
name:本软件源的描述字段,这个也是自定义的,就描述一下,随意描述就行
baseurl:制定yum服务端的URL路径
enabled:是否启用此通道,1代表启用,0代表不启用
gpgcheck:是否验证待安装的RPM包;
这个和下面的gpgkey相关,也就是说在你安装软件的时候是否进行官方公钥验证,在验证的时候需要制定公钥路径,而下面的哪一项即为制定公钥的路径
gpgkey:用于RPM验证的密钥文件
标准格式为:/etc/yum.repos.d/server.repo文件内容
[rhel-server] //库名称,自定义
name=misc.cd.server //描述字段,自定义
baseurl=file:///misc/cd/Server //这个为yum库的位置
enabled=1 //设置启用此通道
gpgcheck=1 //使用yum安装软件包的时候,是否进行验证,可以设置为0,为0的时候,下面的一行可以取消了
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //验证密钥文件的位置
3:使用yum更新软件包工具
-list:查看软件列表
-search:查看软件包名称或者描述重要关键字
-info:查看软件包的说明信息
-install:安装指定软件包
-update:升级指定软件包
-remove:卸载指定软件包
-provides:类似于rpm –qf
4:使用yum更新工具(软件组基本操作)
-grouplist:查看软件组列表
-groupinfo:查看软件组的说明信息
-groupinstall:安装指定软件组
-groupupdate:升级指定软件组
-groupremove:卸载指定软件组
5:再换了yum仓库的时候,在此使用yum命令进行安装查看,显示等操作的时候可能会出现错误,这时,可能是由于缓存出现的错误,需要执行重建缓存的命令:yum clean all
6:在配置yum时经常出现的一些问题:
一:yum仓库有问题
1,挂载的光盘根本就不是该版本操作系统光盘;
2,指定的仓库路径根本就不存在;
3,指定的为光盘挂载目录时间,经常会出现错误,建议先用mount | tail -1 和ls /media/Server查看一下这里面是否有rpm包再指定目录。
二:yum客户端的配置文件内容正确,但是不是以.repo结尾;
三:本地yum仓库指定的时候,file://后面接的是一个绝对路径,不要忘了还有一个/;
7:我的server.repo文件内容
[[email protected] /]# cat /etc/yum.repos.d/server.repo
[Server] //核心服务器yum库
name=misc.cd.Server
baseurl=file:///misc/cd/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT] //虚拟化yum库
name=misc.cd.VT
baseurl=file:///misc/cd/VT
enabled=1
gpgcheck=0
[Cluster] //集群yum库
name=misc.cd.Cluster
baseurl=file:///misc/cd/Cluster
enabled=1
gpgcheck=0
[ClusterStorage] //集群文件系统yum库
name=misc.cd.ClusterStorage
baseurl=file:///misc/cd/ClusterStorage
enabled=1
gpgcheck=0
[[email protected] /]# yum list | wc -l
3347
注:
1,关于server.repo:我将所有库的配置文件写到一个文件(server.repo)中,其实也可以分开写,将这些文件分别写到/etc/yum.repos.d/server.repo、/etc/yum.repos.d/VT.repo、/etc/yum.repos.d/Cluster.repo等也可以。
2,关于我的配置文件中的/misc/cd/目录:
在磁盘插入光驱的时候,默认是将磁盘挂载到该目录的,即使是你将磁盘从新挂载到另外一个目录,这个目录也是存在的,所以如果是磁盘作为yum库的话,用/misc/cd这个目录是无敌的!
其实/misc/cd目录之所以能够cd进入,是因为使用了触发挂载机制,详细关于触发挂载的内容请参考:
Linux系统管理_磁盘分区和格式化:http://murongqingqqq.blog.51cto.com/2902694/1361918中扩展中的第3个:autofs触发挂载
附1:RHEL5光盘的结构为:(光盘中的目录)
Cluster:集群二进制包
ClusterStorage :集群文件系统二进制包
Server:核心服务器的二进制包产品
VT:虚拟化二进制包
image:引导和驱动程序磁盘映像
isolinux:图像引导文件
在做yum客户端配置文件的时候,可以将他们分开,看起来会更清晰!!!
附2:使用yum结合本地yum库安装一个软件包xsnow:
注:
普通的rpm包安装用rpm -ivh,而当该包有依赖关系的时候需要使用到yum库里面的依赖包,所以需要使用yum来安装该本地包。
安装的时候需要用到yum的一个选项:localinstall
由于xsnow-1.42-10.i386.rpm包是在网站上下载的,所以没有密钥,在使用yum安装的时候,需要指定不进行密钥检测:--nogpgcheck;
[[email protected] ~]# yum -y localinstall Desktop/xsnow-1.42-10.i386.rpm --nogpgcheck
//使用yum安装桌面上的xsnow软件
[[email protected] ~]# rpm -ql xsnow | grep bin //查看xsnow软件启动命令
/usr/X11R6/bin/xsnow
执行该程序的方法,直接输入xsnow即可,由于该程序执行过程中将要占用该终端,所以,执行的时候可以使用:xsnow &使其在后台运行;
附3:如果安装了图形化界面,则可以通过system-config-packages命令启动图形化安装界面,如果yum库配置成功,那么不同yum库的配置文件制定不同的软件组,如:VT库里面的一些虚拟化软件包即可安装,如果yum库没有成功则不会有显示。