YUM概述

yum:

基于rpm包构建的软件更新机制

以及自动解决依关系

所有的软件包集中的yum软件仓库提供

软件仓库的提供方式(种类)

FTP服务:ftp://....

HTTP服务:http://.....

本地目录:file://.........
yum仓库示意图.png

RPM软件包的来源

Centos发布的rpm包集合

第三方组织发布的RPM包集合

用户自定义的RPM包集合

构建centos7 仓库

RPM包来自Centos7 光盘
通过FTP方式提供给客户机
构建仓库.png

在软仓库中加入非官方RPM包
包括存在依赖关系的所有RPM包
使用createrepo工具创建仓库数据文件
构建仓库2.png
为客户及指定yum仓库位置
配置文件位于:/etc/yum.repos.d/centos7.repo
构建仓库3.png


在线的yum仓库

第一步:首先先配置一下本地yum源仓库的文件local.repo,然后移动到repo.bak目录下(也可以是别的备份目录)

第二步:将可以连外网的系统打开,执行wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 将阿里云镜像下载到/etc/yum.repos.d/目录下

第三步:刷新缓存,yum clean all && yum makecache ;清理缓存并且生成新的缓存

步骤:

1、查下是否安装了yum-plugin优先级插件

rpm -qa | grep yum-plugin-priorities.noarch

2、安装优先级插件

yum install -y yum-plugin-priorities.noarch

3、查看下插件是否使用

cat /etc/yum/pluginconf.d/priorities.conf

[main] :

enable=1 ;备注,1为启用,0为禁止

4、修改本地yum源优先使用

vim local.repo


[local]

name=local

baseurl=file:///mnt

enable=1

gpgcheck=0

priority=1 ;优先级,越小越优先

[epel]

baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/

enable=1

gpgcheck=0

priority=2


保存后退出

5、验证安装包的数量

yum clean all && yum makecache

a、

yum 命令仅下载安装包

yum install --downloadonly mariadb

注备:下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下

b、方式二

yumdownloader --destdir=/opt mariadb mariadb- server

#yumdownloader 仅下载指定软件包,参数

--destdir 是用来指定存放下载的安装包的目录

yum工具概述

关于YUM命令

由软件包yum-3.4.3-1 50.el7.centos.noarch 提供

用来访问YUM仓库(yum list),查询(yum search、下载安装(yum install)、卸载软件包(yum remove)

yum 的配置文件

基本设置:/etc/yum.conf

仓库设置:/etc/yum.repos.d/*.repo

日志文件:/var/log/yum/log

YUM缓存目录

存放下载的软件包、仓库信息等数据

位于/var/cache/yum/$basearch/$releasever

$basearch: 表示硬件架构 ,如x86_64

$releasever :OS版本

yum clean all

软件包查询

yum list 软件名

yum info 软件名

yum search 关键词

yum whatprovides 关键词

查询软件包组

yum grouplist 包组名

yum groupinfo 包组名

软件安装、升级

安装:

yum install 软件名

yum groupinstall 包组名

升级:

yum update

yum groupupdate

实验1:配置FTP的内网YUM仓库

(yum主机206.3 、使用这个FTP yum源的客机206.8、centos7)
1、我们首先配置下主机
首先是先安装下vsftpd服务
0.5.png
然后是我们切换到/var/ftp目录下,创建centos7目录,并将光盘挂载到里面
1.png2.png
接着老样子,去/etc/yum.repos.d/创建备份目录,把*.repo都放进去。然后创建ftp.repo文件进去修改
3.png
4.png
然后再关闭防火墙、增强服务。启动vsftpd服务
20211201_171736.png
保存退出后我们清理下,yum clean all && yum makecache,
5.png

最后一步,我们cd到/etc/yum.repos.d/目录。然后使用FTP协议把ftp.repo配置文件传给206.8

``html/xml<br/>**(备注: pwd 是指我们已经移动到/etc/yum.repos.d/目录中了,直接使用pwd`来指代这个目录。基本用于简写偷懒)**


![6.png](https://s2.51cto.com/images/20211201/1638350350251341.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
2、然后我们去客机(206.8),虚拟机的话先下掉光驱加载哦!!!
首先是cd去/etc/yum.repos.d/,然后ll。发现收到了ftp.repo文件
![客机7.png](https://s2.51cto.com/images/20211201/1638350458183831.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
客机进行yum清理(clean all 和makecache)
![客机8.png](https://s2.51cto.com/images/20211201/1638350496956186.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

然后我们随便安装一个bind服务进行验证
![客机9.png](https://s2.51cto.com/images/20211201/1638350511795435.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

完成,成功安装!

## 实验2 :使用阿里云的在线YUM仓库
环境:centos7
1、准备一台主机,然后cd /etc/yum.repos.d/目录 。
然后输入以下代码“:
```html/xml
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo         :将阿里云的yum仓库添加

1.png

完成后我们当前目录下ll,发现多了这个下载的阿里云yum配置文件
2.png
之后我们yum clean all && yum makecache清理下,在线yum仓库就配置完成!

实验3 :设置优先级YUM仓库(优先本地YUM再使用在线YUM)

(环境:centos7)
1、首先我们安装下yum优先级插件
yum -y install yum-plugin-priorities.noarch
1.png

2、查看插件是否启用
cat /etc/yum/pluginconf.d/priorities.conf
其中:enabled = 1 ; 1为启动,0 为禁止
2.png
3、老样子,去/etc/yum.repos.d/目录。备份-移动repo。接着vim local.repo,进入后如图所修改
ps:提供图片中的阿里云yum仓库网址:
```html/xml
https://mirrors.aliyun.com/epel/7Server/x86_64/



![3.png](https://s2.51cto.com/images/20211201/1638356241489448.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

随后我们mount 挂载本地yum光盘到配置文件中的/mnt中
![4.png](https://s2.51cto.com/images/20211201/1638356363814494.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
4、老规矩 yum clean all && yum makecache清理
![5.png](https://s2.51cto.com/images/20211201/1638356396756912.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
5、随便验证一个本地yum的安装包——dhcp,可以看到成功!
![7.png](https://s2.51cto.com/images/20211201/1638356428429145.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
6、验证一个本地yum源没有的安装包 "nginx"
首先是另外开一个配置了本地yum的虚拟机(此处就不演示本地yum配置了),显示无法安装
![6.1.png](https://s2.51cto.com/images/20211201/1638356519102203.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
接着我们用本台配备了本地和在线yum优先级的虚拟机,显示成功安装!
![6.png](https://s2.51cto.com/images/20211201/1638356554976379.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

### 实验3.1(拓展):yum 命令仅下载安装包
(环境:配置完设置优先级YUM仓库(优先本地YUM再使用在线YUM)后)

1、仅下载安装包和相关依赖包(不自动安装)
yum install --downloadonly mariadb
如图所示,我去阿里云yum仓库下载mariadb指令,以及下载后保存的位置在( /var/cache/yum/x86_64/7/ )
![1.png](https://s2.51cto.com/images/20211201/1638357018177912.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)![2.png](https://s2.51cto.com/images/20211201/1638357021664402.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

2、仅下载安装包,不下载相关的依赖关系包
yumdownloader --destdir=/opt mariadb mariadb-server
(备注:yumdownloader 仅下载指定软件包、 --destdir 是用来指定存放下载的安装包的目录 、 =/opt是放在opt目录当中 、mariadb 我要下载的相关指令包)
![3.png](https://s2.51cto.com/images/20211201/1638357191422702.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)