• 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目录 
    
  • 相关阅读:
    [计算机网络] HTTPDNS 协议
    [计算机网络] DNS 协议
    [计算机网络] P2P 协议
    [年中总结]一个骄傲而又自卑的人的内心独白
    [计算机网络] FTP 协议
    [计算机网络]简单聊聊套接字 Socket
    扒一扒自从买了kindle后看的书
    安全学习笔记——缓冲区溢出攻击
    思想感悟
    C#利用服务器实现客户端之间通信
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/13496459.html
Copyright © 2020-2023  润新知