程序包管理之YUM解析

前言:

   yum是rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,如果直接使用rpm直接安装程序包也可以,但是需要自己手工解决程序包依赖性的问题,可能程序包的依赖性非常复杂,那么直接使用rpm安庄,就会非常麻烦,而使用YUM安装就会自动解决依赖性的问题。大大简化了安装过程。 

YUM客户端配置文件:

  /etc/yum.conf:为所有仓库提供公共配置

  /etc/yum.repos.d/*.repo:为仓库的指向提供配置

YUM的主配置文件:

blob.png

主配置文件含义:

1、cachedir:yum 缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum

2、keepcache=0:缓存是否保存,1保存,0不保存

3、debuglevel:除错级别,0-10,默认是2

4、logfile:yum的日志文件,默认是/var/log/yum.log

5、exactarch:在更新的时候,是否允许更新不同版本的RPM包,不如是否在i386上更新i686的RPM包;

6、obsoletes=1:允许更新陈旧的RPM包;

7、gpgcheck=1:是否检查GPG,一种秘钥方式签名

8、plugins=1:是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件;

9、installonly_limit=5:允许保留多少个内核包;


仓库指向的定义:

      [repositoryID]  (yum仓库的ID)

      name=some name for this repository (yum仓库的名称) 

      baseurl=url://path/to/repository/ (repodata的位置,一般指向上一级目录)

      enabled={1|0}  (1为启用,0为关闭)

      gpgcheck={1|0}  (是否检查gpgkey,1为检查0为不检查)

      gpgkey=URL     (gpgkey的路径)

yum仓库配置示例:

1、yum仓库的配置文件位于/etc/yum.repos.d目录下

blob.png

2、在该目录下新建一个new.repo的文件,文件名可以任意起,但是需要以.repo来结尾,在文件里写入yum仓库的配置信息;

blob.png

      如此yum仓库配置完成了,可以使用yum repolist命令查看yum仓库

blob.png

yum list命令可以显示所有的程序包:

凡是以@符号开头的都是已经安装上的程序包,以anaconda命名的都是在安装操作系统时安装的包

blob.png

   让我们看看yum源里都有些什么内容,在这里我们修改一下yum源的地址,在本地镜像里可以更清楚的知道源里所包含的内容:

blob.png

   从上面这幅图里我们可以看到yum源里包含rpm包的目录,repodata索引目录,GPGKEY文件,这三者用于支撑yum的运行

   索引是通过计算rpm包的元数据而生成的,yum通过索引来做安装、卸载、查询rpm包的,如果缺少索引文件也就是repodata文件,yum就无法正常工作,接下来我们在额外的路径下下载一些rpm包,手工生成repodata文件,并写入yum仓库的配置文件,该文件下只包含rpm包和repodata索引文件,看看是否能运行yum仓库:

  

示例:

1、该目录下只有四个rpm包:

blob.png

2、将rpm包移入新建文件夹Packages,并使用createrepo命令创建repodata索引文件

blob.png

3、修改yum配置文件,指向新的路径

blob.png

4、yum list

blob.png

5、尝试安装varnish的rpm包

blob.png

安装成功!我们自己手工制作的yum仓库配置完成。

原创文章,作者:因为有你,如若转载,请注明出处:http://www.178linux.com/39659

(0)
因为有你因为有你
上一篇 2016-08-24 21:22
下一篇 2016-08-24 21:22

相关推荐

  • grep命令

    grep命令:grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;grep搜索的结果被送到屏幕,不影响原文件内容。Unix的grep家族包括grep、egrep和fgrep…

    Linux干货 2016-08-08
  • CentOS上配置rsyslog客户端用以远程记录日志

    rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件…

    Linux干货 2015-02-14
  • Linux系统重定向和管道

    1、标准输入和标准输出              程序:指令+数据               &n…

    Linux干货 2016-08-04
  • 计算机网络知识,脚本编程_第八周练习

    Q1:请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Sw…

    Linux干货 2016-12-25
  • 基于haproxy的全站https

          前一段时间新疆等地用户访问国务院官网,在首页上发现大量淫秽信息及广告,后反映给相关工作人员。经排查,并非是网站被劫持和入侵,而是运营商流量劫持导致的这个结果……此处且不论该时间后续事宜,作为一名优秀的运维工程师,我们面对运营商如此流氓的行为,应该怎么办? 当然是全站HTTPS了,目前,百度、阿…

    2017-05-18
  • 我们都在前行的路上

    我们都在前行的路上         从0到1是一种突破,年少轻狂到心有余而力不足,力挽狂澜到恬淡人生需伏地脚踏实地地前行,漂泊在一线都市,立足我图网,途径百胜,一次机缘巧合转战阿里,对于一个工作6年的弄潮儿,他将所有经历的化作前行的动力和坚韧不拔的耐力,也许不经意,但却理所当然,…

    Linux干货 2016-11-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-26 14:06

    内容整体很完整,图文结合,通过实际操作验证了自己的想法,且总结成为经验,这是个很好习惯,希望坚持下去哦。