目录
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(官网进不去,镜像还没有方便的配置方法),找到的此目录
然后手动创建了一个仓库
实际使用也是可用的