程序包管理之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

相关推荐

  • zabbix如何监控webserver

    1、模版 2、应用集 3、项目 4、触发器

    Linux干货 2016-02-19
  • 集中练习5-磁盘分区、文件系统挂载、RAID管理

    集中练习5-磁盘分区、文件系统挂载、RAID管理

    Linux干货 2017-10-27
  • Linux网络配置基础二(网络模块与nmcli命令)

    Linux网络配置基础二 相关命令 lsmod命令 lsmod命令用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。第一列:表示模块的名称第二列:表示模块的大小第三列:表示…

    Linux干货 2016-09-09
  • vim常用小结

    移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n :光标下移一行Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落最后一个…

    Linux干货 2017-04-11
  • Btrfs文件系统的管理和应用

        Btrfs(我们称之为Butter FS或者B-tree FS)被称为新一代的linux文件系统。一直以来,EXT文件系统以其卓越的稳定性成为linux标准的文件系统。但近年来,EXT3暴露出一些扩展性的问题(如单一文件大小限制、总文件系统大小限制等),于是便催生了EXT4。但同时,Btrfs向人们展现出诸多优…

    Linux干货 2016-02-14
  • iptables总结

    iptables简称为包过滤型防火墙一般分为2种:     1,主机防火墙:主机防火墙是用来防止本主机内的应用服务被攻击所需要保护的防火墙     2,网络防火墙:做为想路由功能的防火墙凡是进过此服务器的数据包都要进行规则匹配 iptables的架构由功能和链组成  &…

    Linux干货 2016-12-05

评论列表(1条)

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

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