一、什么是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目录

Linux_yum工具基本概述的更多相关文章

  1. devops工具链概述

    1. devops工具链概述  1)devops工具篇 2) 持续集成 3) 持续交付 4) 持续部署 2. devops工具链概述

  2. python自动化测试(3)- 自动化框架及工具

    python自动化测试(3) 自动化框架及工具 1   概述 手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到 ...

  3. 使用 Hive 作为 ETL 或 ELT 工具

    用来处理数据的 ETL 和 ELT 工具的概述 数据集成和数据管理技术已存在很长一段时间.提取.转换和加载(ETL)数据的工具已经改变了传统的数据库和数据仓库.现在,内存中转换 ETL 工具使得提取. ...

  4. OProfile 性能分析工具

    OProfile 性能分析工具 官方网站:http://oprofile.sourceforge.net/news/ oprofile.ko模块本文主要介绍Oprofile工具,适用系统的CPU性能分 ...

  5. Chrome 开发工具指南

    Chrome 开发工具指南 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具.开发者工具允许网页开发者深入浏览器和网页应用程序的内部.该工具可以有效地追踪布局问题,设置 Ja ...

  6. SVN管理工具Cornerstone之:创建分支、提交合并

      创建工程的分支: 步骤: 1.选择左下角仓库repositories中的工程名->选择trunk->点击Branch->在提示框里填写分支名称create, 2.在做上角work ...

  7. 大规模集群管理工具Borg

    Google的大规模集群管理工具Borg 概述 Google的Borg系统是一个集群管理工具,在它上面运行着成千上万的job,这些job来自许许多多不同的应用,并且跨越多个集群,而每个集群又由大量的机 ...

  8. WebApi及Fiddler工具

    WebApi及Fiddler工具 1.概述 曾经有人问:asp.net mvc和asp.net webapi区别在哪?这个其实不好回答的.可能因为mvc模式盛行的原因,webapi显得孤芳自赏了,让人 ...

  9. 统一代码风格工具——editorConfig

    前面的话 在团队开发中,统一的代码格式是必要的.但是不同开发人员的代码风格不同,代码编辑工具的默认格式也不相同,这样就造成代码的differ.而editorConfig可以帮助开发人员在不同的编辑器和 ...

随机推荐

  1. 期末考试复习c#时总结的抽象类与接口的一些区别

    抽象类: (1)抽象类中可以定义抽象方法,属性,变量 (2)抽象类的派生类必须实现所有的抽象方法.要求所有的派生非抽象类都要用override重写实现抽象方法. (3)抽象类可以存放抽象方法,属性,也 ...

  2. Java(133-151)【String类、static、Arrays类、Math类】

    1.字符串概述和特点 string在lang包里面,因此可以直接使用 字符串的内容不可变 2.字符串的构造方法和直接创建 三种构造方法 package cn.itcast.day08.demo01; ...

  3. springboot项目整合druid数据库连接池

    Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apache开源: Druid的作用是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个: D ...

  4. 【DB宝48】JumpServer:多云环境下更好用的堡垒机

    目录 一.JumpServer简介 1.1.页面展示 1.2.特色优势 1.3.功能列表 1.4.架构图 1.5.端口说明 1.6.产品组件 二.安装JumpServer 2.1.一键自动部署 2.2 ...

  5. 为什么 Spring Boot 2.3.0 放弃Maven最终拥抱Gradle

    在 2.3.0 中对 Spring Boot 进行了相当重大的更改,这是使用 Gradle 而非 Maven 构建的项目的第一个版本. Spring 的每个项目都独立的项目组在开发运营,在用户最常使用 ...

  6. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之配置环境-05

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之配置环境-05 欢迎加QQ群:1026880196 进行交流学习 #全部节点执行如下操作 1. 安装常 ...

  7. Effective Java 笔记

    1. 静态工厂 静态工厂的第 5 个优点是,在编写包含该方法的类时,返回的对象的类不需要存在.他的意思是面向接口编程??就是说我们只需知道接口,具体实现类是否存在没有关系?? 只提供静态工厂方法的主要 ...

  8. 9.while循环

    while 循环 语法: while( 布尔表达式 ) { //循环内容 } 布尔值为 true 开始循环,为 false 结束循环 死循环:布尔值一直为 true. 例: package com.w ...

  9. 5. Linux常用命令

    clear命令: 作用:清屏 快捷键:Ctrl + L pwd命令: 作用:用于显示当前的工作路径位置(当前工作文件夹) 示例: $ pwd /home/tarena Linux/Unix下的路径: ...

  10. Sublime Text 3 Build 3176 License

    先在hosts文件里加入两行: 127.0.0.1 www.sublimetext.com 127.0.0.1 license.sublimehq.com 目的是防止Sublime Text更新和检测 ...