liyeho 发表于 2018-5-11 11:05:45

本地YUM源配置

  我记着我刚开始接触到yum这个命令的时候,实在两年前,曾经自己研究过,也搞出来过,但是今天老师讲到的时候,我才发现,这玩意自学真不好学,今天我终于搞懂了,分享一下!
  

  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文件内容
                              //库名称,自定义
  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文件内容
  # cat /etc/yum.repos.d/server.repo
                        //核心服务器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
  

                     //虚拟化yum库
  name=misc.cd.VT
  baseurl=file:///misc/cd/VT
  enabled=1
  gpgcheck=0
  

                    //集群yum库
  name=misc.cd.Cluster
  baseurl=file:///misc/cd/Cluster
  enabled=1
  gpgcheck=0
  

                  //集群文件系统yum库
  name=misc.cd.ClusterStorage
  baseurl=file:///misc/cd/ClusterStorage
  enabled=1
  gpgcheck=0
  # 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;
  

  # yum -y localinstall Desktop/xsnow-1.42-10.i386.rpm --nogpgcheck
  //使用yum安装桌面上的xsnow软件
  # rpm -ql xsnow | grep bin //查看xsnow软件启动命令
  /usr/X11R6/bin/xsnow
  

  执行该程序的方法,直接输入xsnow即可,由于该程序执行过程中将要占用该终端,所以,执行的时候可以使用:xsnow &使其在后台运行;
  

  附3:如果安装了图形化界面,则可以通过system-config-packages命令启动图形化安装界面,如果yum库配置成功,那么不同yum库的配置文件制定不同的软件组,如:VT库里面的一些虚拟化软件包即可安装,如果yum库没有成功则不会有显示。
  

  

  总结:yum配置不难,但是需要注意的地方太多,特别是做本地yum源的时候,哎……终于搞懂了!
  最近学习的东西不多,但是太碎了,相比那些没有基础的学生,我压力算小多了,还是比较知足的!
  系统这方面很多东西不懂,有时候喜欢自己搞,自学不是坏事儿,但有时候需要有人指点,以后得长点儿记性,自己搞,搞不懂了就得赶紧找人指点,这样才能加深记忆!!!
页: [1]
查看完整版本: 本地YUM源配置