1.配置nginx的autoindex模块,开启目录浏览功能
2.使用rsync同步公网源上的软件包,至本地目录中
3.配置客户端指向便可html
1.nginx提供目录浏览功能nginx
[root@xuliangwei ~]# cat /etc/nginx/conf.d/yum.conf server { listen 80; listen [::]:80; server_name mirrors.bgx.com; location / { root /repo; autoindex on; #开启目录浏览功能 }
2.从公网的仓库同步软件包至本地,但须要注意,若是全同步,会特别占用空间,因此咱们能够将不须要的软件包进行过滤。
rsync同步命令(建议将其加入定时任务)centos
#1.同步centos7的基础源 rsync -zaP --exclude-from /repo/exclude_7.txt rsync://rsync.mirrors.ustc.edu.cn/centos/7.6.1810/ /repo/centos #2.同步centos7的epel源 rsync -zaP --exclude-from /repo/exclude_7_epel.txt rsync://rsync.mirrors.ustc.edu.cn/epel/7/ /repo/epel #centos7排除的文件(保留os和extras) [root@oldboyedu ~]# cat /repo/exclude_7.txt atomic/ centosplus/ cloud/ configmanagement/ cr/ dotnet/ fasttrack/ isos/ nfv/ opstools/ paas/ rt/ sclo/ storage/ virt/ debug/ drpms/ #centos7_epel排除的文件(保留x86_64) [root@xuliangwei ~]# cat /repo/exclude_7_epel.txt SRPMS/ aarch64/ ppc64/ ppc64le/ state
3.客户端配置本地yum仓库bash
[centos] name = Local Base Repository baseurl = http://mirrors.bgx.com/centos enable = 1 gpgcheck = 0 [epel] name = Local Epel Repository baseurl = http://mirrors.bgx.com/epel enable = 1 gpgcheck = 0
4.扩展:若是想为下游提供同步服务,咱们能够使用rsync协议将目录共享出去,让其余人也能够同步(通常玩不起,毕竟没钱)。ui
[root@xuliangwei ~]# cat /etc/rsyncd.conf uid = nginx gid = nginx use chroot = no max connections = 2000 timeout = 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = true #只提供同步,因此只读便可 list = true #容许查看列表,认证的什么的不须要配置 hosts allow = 0.0.0.0/0 #容许任何人同步 ##########提供同步的模块 [centos] path = /repo/centos [epel] path = /repo/epel