程序包管理之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
下一篇 2016-08-24

相关推荐

  • 学习宣言

    书山有路勤为径,学海无涯苦作舟。学吧!!!

    Linux干货 2016-10-29
  • 配额-and-RAID

    配置配额系统 控制单个用户,或组在某磁盘上所能占的最大空间大小 配额是基于磁盘分区的,不基于文件 如何基于软件控制配额:          1、设置分区挂载选项          &nbsp…

    Linux干货 2016-08-29
  • Linux用户与权限管理

    由于Linux是多用户、多任务系统,出于一些需要,当我们创建的文件希望对一部分用户开放,对一部分用户隐藏的时候应该怎么办呢?这样的话,就需要涉及到Linux系统中对用户以及对文件权限的管理。 一、相关文件 在Linux中,一切配置文件都是以文本文档的方式来保存的,同样用户的信息也保存在系统的一些文件中,其位置为/etc/passwd。此文件只有root用户具…

    Linux干货 2016-08-05
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15
  • 实现基于MYSQL验证的vsftpd虚拟用户

    马哥教育面授21期 运维 vsftpd MySQL 说明:本实验在两台CentOS主机上实现,一台做为FTP服务器,一台做数据库服务器 一、安装所需要包和包组: 在数据库服务器上安装包: yum –y install mariadb-server mariadb-devel systemctl start mariad…

    Linux干货 2016-12-21
  • SSH端口转发

      SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他TCP 端口的网络数据通过SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为SSH 为其他TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些TCP 应用均能够…

    2017-09-10

评论列表(1条)

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

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