概述
由于内网有大量机器不能访问公网,安装软件比较费劲,那么,如何让这些机器也能yum快速安装最新的软件呢?搭建一个本地镜像源能解决这样的问题,而如何让本地镜像源仓库的软件保持最新,就需要一个神器–reposync。
reposync用于将远端镜像源同步到本地。
语法说明
1
| /usr/bin/reposync [options]
|
参数说明
参数 |
说明 |
-c |
要使用的配置文件(默认为/etc/yum.conf) |
-d |
删除存储库中不再存在的本地包 |
-r REPOID, –repoid=REPOID |
指定repo id来查询,可以指定多个次(默认全部启用) |
-p DESTDIR, –download_path=DESTDIR |
下载包的路径:默认为当前目录 |
-g |
删除未通过GPG签名检查的软件包 |
-u |
只列出要下载的URL,不要下载 |
-n |
仅下载per-repo的最新软件包 |
-l |
启用yum插件支持 |
部署
- 系统:CentOS Linux release 7.9.2009 (Core)
- 主机IP:192.168.70.84
配置阿里云源
1 2 3 4 5 6
| mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/CentOS-Epel.repo http://mirrors.aliyun.com/repo/epel-7.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Epel.repo yum makecache
|
同步源
创建文件夹并同步
1 2
| mkdir -p /data/centos/7/64bit /usr/bin/reposync -np /data/centos/7/64bit/
|
建仓
1 2 3 4
| createrepo -p /data/centos/7/64bit/base/ createrepo -p /data/centos/7/64bit/epel/ createrepo -p /data/centos/7/64bit/updates/ createrepo -p /data/centos/7/64bit/extras/
|
Nginx配置
1 2 3 4 5 6 7 8 9 10 11 12 13
| server { listen 80; server_name localhost;
access_log /var/log/nginx/repo.access.log main; autoindex on; autoindex_exact_size on; autoindex_localtime on; location / { root /data; index index.html index.htm; } }
|
重启Nginx:
打开http://192.168.70.84即可看到镜像仓库中的软件。
配置定时计划
1
| 0 1 * * * /usr/bin/reposync -np /data/centos/7/64bit/
|
yum配置
/etc/yum.repos.d/CentOS-Base.repo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| [base] name=CentOS-Base(GDS) baseurl=http://192.168.70.84/centos/7/64bit/base path=/ enabled=1 gpgcheck=0 [updates] name=CentOS-Updates(GDS) baseurl=http://192.168.70.84/centos/7/64bit/updates path=/ enabled=1 gpgcheck=0 [extras] name=CentOS-Extras(GDS) baseurl=http://192.168.70.84/centos/7/64bit/extras path=/ enabled=1
|
更新缓存
1 2 3 4
| rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum makecache
|