一、YUM仓库服务
1、概述

2、准备安装源
软件仓库的提供方式

YUM软件仓库类型
| 仓库类型 | 安装路径 | 
| 本地源 | baseurl=file://… | 
| ftp源 | baseurl=ftp://… | 
| 在线源 | baseurl=http://… baseurl=https://… | 
RPM软件包的来源
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
构建CentOS7软件仓库

 3、访问yum仓库
 3、访问yum仓库
 
为客户机指定YUM仓库位置
配置文件:/etc/yum.repos.d/centos7.repo

二、搭建yum源仓库
1、初始化操作
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                 1913552       0  1913552    0% /dev
tmpfs                    1930628       0  1930628    0% /dev/shm
tmpfs                    1930628   12808  1917820    1% /run
tmpfs                    1930628       0  1930628    0% /sys/fs/cgroup
/dev/mapper/centos-root 27245572 4585812 22659760   17% /
/dev/sda1                1038336  191084   847252   19% /boot
tmpfs                     386128      24   386104    1% /run/user/1000
/dev/sr0                 4635056 4635056        0  100% /run/media/huang/CentOS 7 x86_64
[root@localhost ~]# mount /dev/sr0  /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
local.repo  repo.bak
[root@localhost yum.repos.d]# vim local.repo
[root@localhost yum.repos.d]# cd /mnt/Packages/
[root@localhost Packages]# ls | grep vsftpd-3.0.2-29.el7_9.x86_64.rpm
vsftpd-3.0.2-29.el7_9.x86_64.rpm
[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm
警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...1:vsftpd-3.0.2-29.el7_9            ################################# [100%]
2、在仓库主机的软件包目录中准备好软件包列表 ,并使用 createrepo <软件包目录> 命令建立仓库数据文件。
[root@localhost Packages]#systemctl start vsftpd
[root@localhost Packages]# cp * /var/ftp/
[root@localhost Packages]# cd /var/ftp/
[root@localhost ftp]# createrepo ./       //自动根据具软件包的文件创建数据库文件
Spawning worker 0 with 2035 pkgs
Spawning worker 1 with 2035 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete 
3、客户机配置
在客户机的 /etc/yum.repos.d/ 目录中创建yum仓库源配置文件
配置如下:

4、验证
yum makecache 更新缓存, yum install -y 安装软件

yum在线源替换方法
官方地址替换成在线源地址

cd /etc/yum.repos.d/
vim CentOS-Base.repo
baseurl=http://mirror.centos.org/ 替换成 https://mirrors.tuna.tsinghua.edu.cn/
https://mirrors.aliyun.com/
https://mirrors.163.com/
三、通过yum下载软件包
 开启缓存
 
vim /etc/yum.conf
cachedir=软件包缓存目录
keepcache=1 #1为开启缓存,0为关闭缓存yum install -y 软件名 #下载并安装软件包
下载并保存安装包
示例:下载并保存安装包的方法
先配置CentOS-Base.repo 文件,将yum源修改为国内阿里云的镜像源

修改vim /etc/yum.conf

仅下载软件包
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录
yumdownloader --destdir=软件包下载目录 --resolv 软件名 #--resolv代表下载软件所需的所有依赖包,不加这个选项代表仅下载指定的软件包
示例:仅下载软件包的方法
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录


方法二:


在Linux系统下载文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo