Linux_yum工具基本概述

一、什么是yum

1️⃣:yum是yellowdog update manager的简称,它能够实现rpm管理的所有操作,并能够自动解决各rpm包之间的依赖关系。

2️⃣:yum是rpm的前端工具,是基于rpm来实现软件的管理的一个工具

3️⃣:不能用yum去管理windows的exe程序包,也不能用yum去管理ubuntu的deb程序包,只能用yum来管理redhat系列的rpm包

二、yum的优劣

1️⃣:yum最大的优势就是能够解决rpm的依赖问题,yum能够自动解决软件安装时的依赖关系

2️⃣:yum的缺陷就是如果在未完成安装的情况下强行中止安装过程,下次再安装时将无法解决依赖关系

3️⃣:dnf是redhat7上用来代替yum的一个工具,其存在的意义就是处理yum的缺陷,但其用法与yum是完全一样的

三、yum的原理

1、yum服务器端工作原理

1️⃣:所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布

2️⃣:yum服务器只要提供简单的下载就可以了,ftp或者http的形式都可以

3️⃣:yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号、conf文件、binary信息,以及很关键的依赖信息

4️⃣:在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张“清单”,这张“清单”就是描述每个rpm包的spec文件中信息

2、clinet端工作原理

1️⃣:client每次调用yum install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的配置文件

2️⃣:yum会定期去更新yum服务器上的rpm包清单,然后把清单下载保存到yum客户端自己的cache里面

3️⃣:根据/etc/yum.conf里配置(默认是/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找清单,

4️⃣:根据清单里的rpm包描述从而来确定安装包的名字、版本号、所需要的依赖包等,然后再去yum服务器下载rpm安装(前提是不存在rpm包的cache)

四、yum的配置文件

1、yum的配置文件有:

  •   /etc/yum.conf        //为所有仓库提供公共配置 
  •   /etc/yum.repos.d/*.repo       //为仓库的指向提供配置(软件仓库的配置文件,必须以.repo结尾)

2、yum的repo配置文件中可用的变量:

  •   $releaseversion      //当前OS的发行版的主版本号
  •   $arch        //平台类型
  •   $basearch       //基础平台

3、yum的配置文件示例:

 //首先在/etc/yum.repo.d/下面创建一个repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# touch dvd.repo    //文件名必须以.repo结尾
[root@localhost yum.repos.d]# ls 
dvd.repo  redhat.repo(redhat.repo是自带的,可以不用管,里面啥也没有)
[root@localhost yum.repos.d]# vim dvd.repo 
[BaseOS]             //仓库的名称(可以随意写)
name=baseos       //描述信息(可以随意写)
baseurl=file:///mnt/BaseOS          //仓库的绝对路径(我这是用的本地源)
gpgcheck=0         //检测软件仓库来源的合法性,0为不检查,1为检测;如果为1,则需要指明gpgkey=
enabled=1           //是否启用此仓库,1为启用,0为不启用

[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
 //RHEL8版本的Packages被分在了BaseOS和AppStream中,所以需要配置两个仓库
[repo_name]    //仓库的名称
name=           //仓库的描述信息

baseurl=      //仓库的具体路径,接受以下三种类型
     ftp://             #ftp上的仓库源
     http://           #网络上的仓库源
     file:///           #本地的绝对路径

enabled=1或者0
    1为启用此仓库;0为禁用此仓库

gpgcheck=1或者0
    1为检查软件包来源合法性;0为不检查来源
    如果gpgcheck设为1,则必须用gpgkey定义密钥文件的具体路径:
    gpgkey=/PATH/TO/KEY    
repo参数说明

4、yum的其他参数说明  

cachedir=/var/cache/yum/$basearch/$releasever     //缓存目录
keepcache=0        //缓存软件包, 1启动 0 关闭
debuglevel=2       //调试级别
logfile=/var/log/yum.log    //日志记录位置
exactarch=1        //检查平台是否兼容
obsoletes=1        //检查包是否废弃
gpgcheck=1         //检查来源是否合法,需要有制作者的公钥信息
plugins=1          //是否启用插件
tolerant={1|0}     //容错功能,1为开启,0为关闭,当设为0时,如果用yum安装多个软件包且其中某个软件包已经安装过就会报错;当设为1时,当要安装的软件已经安装时自动忽略
installonly_limit=5
bugtracker_url
# metadata_expire=90m     //每小时手动检查元数据
# in /etc/yum.repos.d         //包含repos.d目录 
原文地址:https://www.cnblogs.com/itwangqiang/p/13496459.html