yum:也是一个rpm包的管理工具,可以实现自动解决rpm包的依赖关系(自动安装依赖顺序进行rpm包的安装)

为何rpm包会有依赖关系?
制作rpm的人,在制作rpm包的时候,就将这个rpm的所依赖的软件的信息保存在这个rpm包的内部

yum的工作原理
1. 需要首先创建一个yum仓库(rpm包仓库、软件仓库)
1)仓库其实就是一个目录
2)仓库中存放的是rpm包
3)仓库中还保存了一个文件,文件中记录了该仓库中所有rpm包的元数据信息
4)元数据信息包括
软件名
软件版本
软件是否已经安装
软件的依赖关系

2. 用 yum 来从仓库中找软件进行安装的过程(比如要安装软件A,A依赖B 和C, B依赖C D)
1)yum首先会扫描保存元数据信息的文件,检查A是否已经安装,如果已经安装,那提示已经安装
2)如果A尚未安装,那么扫描A的依赖关系信息,会发现A 依赖B 和C
3)yum会再次扫描元数据文件,检测B C 是否安装,如果都已经安装,那么会开始开始安装A
4)如果B C尚未安装,那么会检测 B C的依赖关系,会发现B依赖C D
5)yum会再次扫描元数据文件,检测C D是否安装,如果都已经安装,那么会开始开始安装B,然后安装C,,然后安装A

yum仓库

本地:将本地的一个目录做成yum仓库,只有当前系统可以
网络:通过网络将服务器上的一个目录作为yum仓库,网络中的全部主机都可以用

使用yum仓库的方式:修改yum的配置文件

yum的配置文件
主:/etc/yum.conf
子:/etc/yum.repos.d/*.repo

/etc/yum.conf文件
指定是否保留缓存文件
指定缓存文件的保存位置,默认:/var/cache/yum/x86_64/6/

用yum安装软件过程中会从yum仓库下载并缓存多个资源
1)会将yum仓库的元数据文件缓存到配置文件所指定的路径中
2)会将要安装的软件及其依赖的软件一并缓存到配置文件指定的目录中

yum配置文件的构成

[localRpm] <<< 指定yum仓库的id,可以随便写,但是中间不能有空格
name=xxx <<< 指定yum仓库的名称,可以随便写
enabled=0|1 <<< 指定是否使用该yum仓库,0表示不使用;1表示使用
gpgcheck=0|1 <<< 指定是否对rpm包做完整性和来源合法性验证,0表示不做验证;1表示必须做验证
gpgkey= <<< 指定公钥文件(如果gpgcheck=1,那么该项不能省略)
baseurl= <<< 指定yum仓库的url

yum仓库的url的表示方式
注意:在指定yum仓库的时候,其实不是指向rpm包的目录,而是执行repodata所在目录

本地yum仓库
file://
例子:比如我的yum仓库 /myrpm,此时yum仓库的表示方式就是file:///myrpm
网络yum仓库
http://

1.创建本地yum仓库

一.创建目录

[root@ ~]# mkdir  /myrpm

二.在仓库中准备一个用于测试的rpm

[root@ ~]# mount /dev/sr0 /mnt  <<<挂载本地光盘
[root@ ~]# cp /mnt/Packages/* /myrpm -rvf <<<将/mnt中的包全部复制到/myrpm中

三.安装用于生成元数据文件的工具(createrepo)

[root@63~]# rpm -ivh /mnt/Packages/deltarpm-3.6-.el7.x86_64.rpm 
[root@63 ~]# rpm -ivh /mnt/Packages/python-deltarpm-3.6-3.el7.x86_64.rpm
[root@63~]# rpm -ivh /mnt/Packages/createrepo-0.9.9-28.el7.noarch.rpm <<<之所以安装上面两个,是因为createrepo依赖上两个

四.生成元数据

[root@ ~]# createrepo /myrpm

查看

[root@63DNSNTP ~]# ls /myrpm

2.使用光盘中的rpm包作为yum仓库

一.挂载光盘

[root@~]# mount /dev/sr0 /mnt

二.备份yum自带的配置文件

[root@~]# cd /etc/yum.repos.d
[root@63~]#mkdir bak

三. 创建yum的配置文件,使用光盘作为yum仓库

[myrepo]
name=my repo
enabled=
gpgcheck=
baseurl=file:///media

四.执行yum命令检测结果

[root@63~]yum clean all <<< 清空yum缓存的全部数据
[root@63~]yum repolist <<< 检查yum仓库中有多少可用的包

yum使用

安装软件
yum -y install 软件1 软件2 软件3 ....

卸载软件
yum -y remove 软件1 软件2 软件3 ....

管理包组
grouplist:查看系统中的全部的包组
groupinfo 包组名:查看指定包组的信息(包组的作用、包含的软件)
groupinstall 包组名:安装指定的包组
groupremove 包组名:卸载指定的包组

管理yum的缓存数据
clean [ packages | metadata | all ]
all:清除所有数据
packages:仅仅清除rpm包
metadata:仅仅清理缓存元数据

查看所有已经安装和尚未安装rpm包
list [available | installed]
available:仅仅显示可以安装但是尚未安装的rpm包
installed:仅仅显示已经安装rpm包
@:表示已经安装rpm

查看yum仓库的信息
repolist

网络yum源的使用方式

国内主流的网络yum仓库地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com

yum管理工具的更多相关文章

  1. Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]

    0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...

  2. Linux RPM、YUM、APT包管理工具

    ⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...

  3. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  4. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  5. Linux下取代top的进程管理工具 htop

    一.htop 简介 This is htop, an interactive process viewer for Linux. It is a text-mode application (for ...

  6. ElasticSearch 命令行管理工具Curator

    一.背景 elastic官网现在已经大面积升级到了5.x版本,然而针对elasticsearch的命令行管理工具curator现在仍然是4.0版本. 刚开始找到此工具,深深的怕因为版本更迭无法使用,还 ...

  7. Mac Pro 安装 Homebrew 软件包管理工具

    Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持 ...

  8. brew mac osx 上软件包管理工具

    今天推荐 Mac OSX 下,方便高效的包管理工具 brew brew 的全名叫做 Homebrew 它的功能类似于 ubuntu 下同下 apt-get ,或者 Cent OS 下的 yum 等包管 ...

  9. MacOS上的包管理工具

    众所周知,Linux世界中存在着如apt-get.yum等强大而简单的包管理工具,而在Macos中同样存在类似的东西. 当前比较流行的主要有如下两种: 1.Homebrew(推荐):其官网地址brew ...

随机推荐

  1. fiddler 按条件过滤

    使用fiddler抓包过程中最希望获取自己想要的数据,不重要的信息最希望的是过滤,如果重要和不重要的数据都展示对我们在寻找资源的时候产生了很大的干扰,所以我们需要按条件过滤: 1.启用fiddler ...

  2. mac mongodb安装

    1.前往官网下载.tgz文件 2.解压 tar zxf mongo压缩文件 3.配置环境变量:MAVEN_HOME & bin路径 4.创建data & log文件夹 5.执行安装命令 ...

  3. 使用iframe方式获得svg中的DOM元素,和svg 的 contentDocument 返回 null

    碰到这个的相关问题,百度找了好久,找到了个解决方法,原址 https://segmentfault.com/q/1010000009001758 var iframe = document.getEl ...

  4. mysql原生分页

    select * from table limit (pageNo-1)*pageSize, pageSize; 一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数 ...

  5. 2018-2019-20175334实验二《Java面向对象程序设计》实验报告

    2018-2019-20175334实验二<Java面向对象程序设计>实验报告 一.实验内容及步骤 实验二面向对象程序设计-1 参考 http://www.cnblogs.com/roce ...

  6. Docker学习系列之一——安装篇

    一.目的 Docker是目前非常流行的虚拟技术,在云计算领域得到了广泛的应用.国内的阿里.京东等大厂都非常普遍地应用了Docker.本文记录了Docker的基本安装过程及最终运行结果,以期备忘,及和同 ...

  7. 2019年1月16日22:50:28 白糖SR1905

    很好的机会,只拿了点皮毛,如果说都是因为上班时间不充裕那是给自己找借口,最主要原因没别的:思维不清,策略不明- 这里的入场初衷是周线区间下沿,日线向下脱离中枢失败后回拉一笔,那么这一单的做法就应该很明 ...

  8. Specified key was too long; max key length is 767 bytes解决方案

    问题描述: 1.  使用spark sql处理数据逻辑,逻辑处理后使用 df.write.mode(saveMode).jdbc(url, tableName, connectionPropertie ...

  9. HTML5 source标签:媒介元素定义媒介资源

    HTML5 source标签是一种媒介元素(比如 <video> 和 <audio>)来定义媒介资源.<source> 标签允许您规定可替换的视频/音频文件供浏览器 ...

  10. 编译ijkplayer后直播无声音

    打开:ijkplayer-android/config/module-lite.sh 文件: 你要把neyllow打开,默认是关闭的,如下: export COMMON_FF_CFG_FLAGS=&q ...