1.分为两种仓库
1.1.手动,持续更新(仅下载业务需要的包)
1.2.自动,持续更新(mirror镜像,所有的下载到本地)
注:
环境必须一致。
服务器和客户端都是最小安装。
2.执行流程
官方包---->(yum install xxx yum update xxx)--->本地yum server------->(客户端服务器从本地服务器安装)
3.搭建服务器
3.1配置防火墙
firewall-cmd --permanent --add-service=ftp
firewall-cmd reload
setenforce 0
sed -i '/SELINUX/{s/enforcing/disabled/}' /etc/selinux/config
3.2安装vsftpd
yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
4.创建yum仓库
4.1提供更新update(主要作用保持自己yum仓的软件与客户端版本一致)
4.1.1打开yum缓存功能,用于缓存下载的包
vim /etc/yum.conf
keepcache=1
4.1.2清除缓存和安装并缓存更新,也可用--downloadonly只下载。
yum clean all
yum -y update
4.1.3拷贝下载的update包到共享目录
mkdir /var/ftp/update #创建共享目录
find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/update \; #复制rpm包到共享目录
4.1.4创建yum仓库
yum -y install createrepo #创建yum源的命令
createrepo /var/ftp/update #创建此目录为yum源仓库(其他软件同理)
4.2提供缓存其它自己需要的包:以nginx为例
4.2.1清除缓存和下载软件包。
yum clean all
yum install nginx --downloadonly
4.2.2拷贝下载的nginx包到共享目录
mkdir /var/ftp/nginx #创建共享目录
find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/nginx \; #复制rpm包到共享目录
4.2.3创建yum仓库
yum -y install createrepo #创建yum源的命令
createrepo /var/ftp/nginx #创建此目录为yum源仓库(其他软件同理)
4.3yumclent测试是否能用。
#测试update
rm -rf /etc/yum.repos.d/CentOS-Base.repo
vim /etc/yum.repos.d/update.repo
[update]
name=centos update
baseurl=ftp://192.168.80.80/update
gpgcheck=0
enable=1
yum repolist
yum -y update
#测试nginx
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=centos nginx
baseurl=ftp://192.168.80.80/nginx
gpgcheck=0
enabled=1
yum -y nginx
5.签名检查机制