YUM概述
yum:
基于rpm包构建的软件更新机制
以及自动解决依关系
所有的软件包集中的yum软件仓库提供
软件仓库的提供方式(种类)
FTP服务:ftp://....
HTTP服务:http://.....
本地目录:file://.........
RPM软件包的来源
Centos发布的rpm包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
构建centos7 仓库
RPM包来自Centos7 光盘通过FTP方式提供给客户机
在软仓库中加入非官方RPM包包括存在依赖关系的所有RPM包使用createrepo工具创建仓库数据文件为客户及指定yum仓库位置配置文件位于:/etc/yum.repos.d/centos7.repo
在线的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服务然后是我们切换到/var/ftp目录下,创建centos7目录,并将光盘挂载到里面接着老样子,去/etc/yum.repos.d/创建备份目录,把*.repo都放进去。然后创建ftp.repo文件进去修改然后再关闭防火墙、增强服务。启动vsftpd服务保存退出后我们清理下,yum clean all && yum makecache,
最后一步,我们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_30,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_30,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_30,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_30,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仓库添加完成后我们当前目录下ll,发现多了这个下载的阿里云yum配置文件之后我们yum clean all && yum makecache清理下,在线yum仓库就配置完成!
实验3 :设置优先级YUM仓库(优先本地YUM再使用在线YUM)
(环境:centos7)1、首先我们安装下yum优先级插件yum -y install yum-plugin-priorities.noarch
2、查看插件是否启用cat /etc/yum/pluginconf.d/priorities.conf其中:enabled = 1 ; 1为启动,0 为禁止3、老样子,去/etc/yum.repos.d/目录。备份-移动repo。接着vim local.repo,进入后如图所修改ps:提供图片中的阿里云yum仓库网址:```html/xmlhttps://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_30,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_30,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_30,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_30,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_30,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_30,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_30,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_30,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_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)