目录
一.YUM仓库简介
二.YUM实现过程
三.YUM配置文件
1.主配置文件
2.仓库设置文件
3.日志文件
四.YUM命令详解
1.查询
2.yum安装升级
3.软件卸载
五.YUM搭建仓库的方式
1.搭建本地YUM仓库
2.搭建阿里云仓库(http外网环境搭建)
3.内网环境下http搭建yum仓库
4.内网环境下ftp搭建yum仓库
一.YUM仓库简介
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
二.YUM实现过程
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
yum客户端:
配置文件
yum服务器:
RPM包 (Packages文件夹中)
元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
仓库类型:
光盘的仓库基本仓库 比较常用的
epel扩展仓库 比较新
三.YUM配置文件
1.主配置文件
位置:/etc/yum.conf //主配置文件
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
2.仓库设置文件
位置:/etc/yum.repos.d/*.repo //yum仓库文件位置
3.日志文件
位置:/var/log/yum.log //日志文件
四.YUM命令详解
命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
---|---|---|
yum list | 显示所有可用包 | 单个的可安装包 |
yum info | 显示所有可用包的信息 | 单个具体的信息 |
yum search | \ | 模糊查找所有的相关信息 |
yum provides | \ | 精确查找 |
yum grouplist | 显示所有可用包组 | 显示具体的包组 |
yum groupinfo | 显示所有的包组具体信息 | 显示具体的包组的具体信息 |
yum install | \ | 安装具体软件包 |
yum groupinstall | \ | 安装具体软件包组 |
yum update | 所有软件升级 | 具体软件升级 |
yum group update | 所有包组升级 | 具体包组升级 |
yum remove | \ | 卸载具体软件 |
yum groupremove | \ | 卸载具体包组软件 |
yum history | 查看当前yum操作历史 | \ |
yum history undo | 加入序号卸载序号里安装的软件 | \ |
yum history redo | 加入序号重新执行序号里的操作 | \ |
1.查询
1.1 yum list [软件名]
显示可用的安装包,如不加软件名是显示所有的可用包
yum list *httpd* //包含httpd的软件包
1.2 yum info [软件名]
显示安装包详细信息
1.3 yum search <关键词>
根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
1.4 yum provides <关键词>
知道某个命令却不知道具体的包可以用此命令查找
1.5 yum grouplist [包组名]
安装包组的查询 不加包组名 就是显示所有(此处例子由于安装了中文环境,无法显示英文包组名称无法直接复制中文使用,建议直接安装英文操作系统)
1.6 yum groupinfo [包组名]
不加包组名显示全部
2.yum安装升级
2.1 yum install [软件名]
安装软件包,如例子yum install安装http服务
2.2 yum update
更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。
但是首先你要有更新的包组库否则也无法更新。
3.软件卸载
3.1 yum remove <软件名>
卸载已安装的软件必须加软件名
3.2 yum history
查看历史使用记录
五.YUM搭建仓库的方式
(1)本地yum仓库 没有网络的情况下, 光盘
(2)软件仓库的提供方式 FTP服务:ftp://ip地址/站点里路径
(3)HTTP服务:http://域名或者ip地址/站点里的路径
(4)本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/
#华为云
https://repo.huaweicloud.com/centos/$releasever/
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/
EPEL的yum源
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
#更新源
http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64https://mirrors.cloud.tencent.com/epel/$releasever/x86_64https://mirrors.huaweicloud.com/epel/$releasever/x86_64https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
1.搭建本地YUM仓库
(1)首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)
[root@localhost mnt]# mount /dev/sr0 /mnt //挂载到mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost mnt]# cd /etc/yum.repos.d/ //进入etc目录下的yum.repos.d
[root@localhost yum.repos.d]# mkdir bak //创建bak文件夹
[root@localhost yum.repos.d]# mv *.repo bak/ //移动源到bak文件夹下
(2)编辑配置文件,新建本地yum仓库
[root@localhost yum.repos.d]# vim local.repo //新建并编辑local.repo[local]
name=local //仓库名
baseurl=file:///mnt //设置链接地址
gpgcheck=0 //进入不需验证
(3)清理缓存并安装
[root@localhost yum.repos.d] yum clean all
[root@localhost yum.repos.d] yum makecache
[root@localhost yum.repos.d] yum install <软件名>
2.搭建阿里云仓库(http外网环境搭建)
(1)切换到 yum.repo.d 目录 将自带的仓库移走
(2)新建aliyun仓库
(3)清理缓存建立元数据
3.内网环境下http搭建yum仓库
由于是内网环境,虚拟机全部设为仅主机模式,(如何设置仅主机模式可参考DHCP原理与配置)无法连接外部网络如果想要下载httpd服务则需要搭建一个本地yum仓库
(1)服务器搭建本地yum仓库
(2)服务端下载http服务
(3)服务端进入/var/www/html/添加挂载目录centos7,将光驱挂载到centos7目录下(也可以将光驱内的所有文件包复制到centos目录下)
(4)关闭防火墙开启http服务
(5)httpd提供网页服务,在客户端搜索服务器的IP地址和共享目录,可以查看到共享的目录
(6)在客户端搭建本地YUM仓库
其余步骤相同
配置文件中
测试安装一个服务
4.内网环境下ftp搭建yum仓库
ftp可以使用内网也可以使用外网,此处演示内网环境, 由于是内网环境,虚拟机全部设为仅主机模式,(如何设置仅主机模式可参考DHCP原理与配置)无法连接外部网络如果想要下载ftp服务则需要搭建一个本地yum仓库
服务器:192.168.240.11
客户端:192.168.240.12
(1)服务端安装vsftp服务
(2)服务端切换到ftp目录下新建的centos7目录
(3)服务端将光驱里的文件包全部拷到centos7里面(先将光驱挂载到 了mnt目录下)
(4)服务端开启相关服务,关闭防火墙和selinux
5.客户端关闭防火墙安装ftp服务
(6)测试ftp服务是否正常
(7)编写客户的本地YUM仓库
[root@localhost yum.repos.d]# vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.240.11/centos7
enabled=1
gpgcheck=0[other]
name=other
baseurl=ftp://192.168.240.11/other
enabled=1
gpgcheck=0
(8)测试客户端YUM是否正常使用