当前位置: 首页 > news >正文

Linux软件管理YUM

目录

yum配置文件

创建仓库

yum查询功能

yum安装与升级功能

yum删除功能

yum仓库产生的问题和解决之道

yum与dnf

网络源


YUM就是通过分析RPM的标头数据后,根据各软件的相关性制作出属性依赖时的解决方案,然后可以自动处理软件的依赖属性问题,以解决软件安装或删除与升级的问题

发布的软件先放置到YUM服务器内,然后分析这些软件的依赖属性问题,将软件内的记录信息记录下来(header),然后再将这些信息分析后记录成软件相关性的列表,这些列表数据与软件所在的主机或网络上的位置可称为软件源或软件仓库(repository)

当客户端有软件安装、升级的需求时,客户端主机会主动的从网络上面的YUM服务器的软件源地址下载列表,然后通过列表的数据与本机RPM数据库已存在的软件数据相比较,就能够一口气安装所有需要的具有依赖性的软件了

yum配置文件

yum的配置文件分为两部分:全局配置文件和yum仓库配置文件

全局配置文件只有一个,定义了yum根据的一些全局配置选项,一般位于/etc/yum.conf中

yum仓库(软件源)有三个存放地址

  • /etc/yum.repos.d
  • /etc/yum/repos.d
  • /etc/distro.repos.d

仓库配置文件必须以 .repo结尾

系统中自带一个redhat.repo文件,里面并没有实际内容

创建仓库

创建仓库只需在三个目录下创建一个以.repo结尾的文件即可

 

仓库内容格式:

  • [base]:代表软件源的名称,名称可以随便取,但是不能有两个相同的软件源名称
  • name=:描述,说明一下软件源的意义
  • baseurl=:软件源的实际地址,指定到源数据路径即可
  • enable=:是否启动此软件源
  • gpgcheck=:是否启动验证(查看RPM文件内的数字签名)
  • gpgkey=:数字签名的公钥文件所在文件(当不启动验证时可不写)
  • mirrorlist=:这个软件源的镜像站(可不写)

baseurl有三种写法:

  • file://
  • http://
  • ftp://

查看一下我们的仓库:

此时我们可以检验一下我们的仓库是否可用

 先把光盘挂载一下:

我们之前使用yum安装httpd是失败的,因为仓库中没有此软件和依赖软件(路径中就没有仓库)

配置完仓库后,我们再来试试

它把所有此软件以及依赖关系的软件全部安装了

yum查询功能

yum 【option】【查询工作选项】【相关参数】

选项与参数:

-y:当yum等待输入时,这个选项可以自动提供yes回应

查询工作选项 相关参数:

search:查找出某个软件名称或是描述(description)的重要关键字

list:列出目前yum所管理的所有软件与版本,有点类似rpm -qa

info:同上,有点类似rpm -qai

provides:从文件去查找软件,类似rpm -qf的功能 

查找mdadm软件的功能

列出可升级的软件:yum list update

yum安装与升级功能

使用install与update这两个参数处理即可

yum 【install/update】软件

选项与参数:

install:后面接要安装的软件

update:后面接要升级的软件

yum删除功能

yum remove 软件

yum仓库产生的问题和解决之道

仓库技术就是软件源,但是由于使用的软件源有新旧之分,因此当我们的仓库与源数据存放路径的数据不同步时,此时会出现无法更新等问题

处理方法:通过yum的clean选项来处理即可

yum clean 【packages/headers/all】

选项与参数:
packages:将已下载的安装文件删除

headers:将下载的安装文件头删除

all:将所有软件源数据都删除

yum与dnf

在yum机制,仍然存在一些问题,如分析不准确,占用内存量大,不能多人同时安装软件等硬伤

所以在新版本Fedora 22系统的发布后,redhat公司给了我们一个dnf命令,它实际上就是yum的升级版,也称为yum v4版本,它们都是同样的使用方式,只需把yum换为dnf即可

 

网络源

网络源即网络上的仓库,网络上搜索epel即可

网址中最具特色的是repodata目录,该目录时分析RPM软件后产生的软件属性依赖数据存放处,因此找软件源所在目录时,该地址下面必须有个repodata的目录存在

会有配置方法告诉你如何安装

因为我使用的是RHEL9(官网进不去,镜像还没有方便的配置方法),找到的此目录

然后手动创建了一个仓库

实际使用也是可用的 

http://www.lryc.cn/news/10583.html

相关文章:

  • 【自学MYSQL】MySQL Windows安装
  • Linux c编程之常用技巧
  • 21- 朴素贝叶斯 (NLP自然语言算法) (算法)
  • 设计模式第七讲-外观模式、适配器模式、模板方法模式详解
  • flutter-第1章-配置环境
  • “消息驱动、事件驱动、流 ”的消息模型
  • 量化股票配对交易可以用Python语言实现吗?
  • 机器学习洞察 | 一文带你“讲透” JAX
  • OpenFaaS介绍
  • 【算法设计与分析】STL容器、递归算法、分治法、蛮力法、回溯法、分支限界法、贪心法、动态规划;各类算法代码汇总
  • vue初识
  • 火山引擎入选《2022 爱分析 · DataOps 厂商全景报告》,旗下 DataLeap 产品能力获认可
  • java-spring_bean的生命周期
  • 微服务相关概念
  • 论文解读:(TransA)TransA: An Adaptive Approach for Knowledge Graph Embedding
  • js将数字转十进制+十六进制(联动el-ui下拉选择框)
  • 关于RedissonLock的一些所思
  • C++:倒牛奶问题
  • MySQL8.x group_by报错的4种解决方法
  • 具有非线性动态行为的多车辆列队行驶问题的基于强化学习的方法
  • TrueNas篇-硬盘直通
  • 手机子品牌的“性能战事”:一场殊途同归的大混战
  • dockerfile自定义镜像安装jdk8,nginx,后端jar包和前端静态文件,并启动容器访问
  • MongoDB 全文检索
  • JS中声明变量,使用 var、let、const的区别
  • 汽车改装避坑指南:大尾翼
  • 【Unity资源下载】POLYGON Dungeon Realms - Low Poly 3D Art by Synty
  • 知识汇总:Python办公自动化应该学习哪些内容
  • 软件架构知识5-架构设计流程
  • 【银河麒麟V10操作系统】修改屏幕分辨率的方法