在windows上搭建镜像yum站的方法(附bat脚本)

方法一:支持rsync的网站 

对于常用的centos、Ubuntu、等使用官方yum源在 http://mirrors.ustc.edu.cn 都存在镜像。

  同时 http://mirrors.ustc.edu.cn 网站又支持 rsync 协议, 可以通过rsync实现 镜像yum源。

 _______________________________________________________________
|         University of Science and Technology of China         |
|           Open Source Mirror  (mirrors.ustc.edu.cn)           |
|===============================================================|
|                                                               |
| Debian primary mirror in China mainland (ftp.cn.debian.org),  |
|     also mirroring a great many OSS projects & Linux distros. |
|                                                               |
| Currently we don't limit speed. To prevent overload, Each IP  |
| is only allowed to start upto 2 concurrent rsync connections. |
|                                                               |
| This site also provides http/https/ftp access.                |
|                                                               |
| Supported by USTC Network Information Center                  |
|          and USTC Linux User Group (http://lug.ustc.edu.cn/). |
|                                                               |
|    Sync Status:  https://mirrors.ustc.edu.cn/status/          |
|           News:  https://servers.ustclug.org/                 |
|        Contact:  lug@ustc.edu.cn                              |
|                                                               |
|_______________________________________________________________|

在windows上使用rsync需要用到 cwRsync  下载地址是 https://www.itefix.net/dl/cwRsync_5.5.0_x86_Free.zip;

  其官网为 https://www.itefix.net/cwrsync 

使用rsync的时候需要编写脚本,设置要同步的内容

 在windows上搭建镜像yum站的方法(附bat脚本)

其中centos7_base.bat脚本内容 供大家参考:

@echo off
SETLOCAL

SET CWRSYNCHOME=%~dp0

IF NOT EXIST %CWRSYNCHOME%home\%USERNAME%\.ssh MKDIR  %CWRSYNCHOME%home\%USERNAME%\.ssh

SET CWOLDPATH=%PATH%

SET PATH=%CWRSYNCHOME%bin;%PATH%

rsync  -av --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/    /cygdrive/f/yum/nginx/html/centos/7/os/x86_64/

方法二:使用wget命令下载不支持rsync协议的源

由于线上跑的系统还有CentOS5.4、6.4、6.5、6.5、6.6、6.8,而各镜像站维护的最早的版本已经是6.9,所以需要爬archive站点的rpm包来自建yum仓库。

# wget -r -p -np -k http://archives.fedoraproject.org/pub/archive/epel/5Server/x86_64/

# wget -r -p -np -k http://archives.fedoraproject.org/pub/epel/6Server/x86_64/

-c, --continue resume getting a partially-downloaded file. 断点续传
-nd, --no-directories don't create directories. 不创建层级目录,所有文件下载到当前目录
-r, --recursive specify recursive download. 递归下载
-p, --page-requisites get all images, etc. needed to display HTML page.
下载页面所有文件,使页面能在本地打开
-k, --convert-links make links in downloaded HTML or CSS point to local files.
转换链接指向本地文件
-np, --no-parent don't ascend to the parent directory. 不下载父级目录的文件
-o, --output-file=FILE log messages to FILE. 指定日志输出文件
-O, --output-document=FILE write documents to FILE. 指定文件下载位置
-L, --relative follow relative links only. 只下载相对链接,如果页面嵌入其他站点不会被下载

windows上wget命令使用方法

  下载:http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe

  官网:http://gnuwin32.sourceforge.net/packages/wget.htm

  安装

        双击即可安装,安装到目录:D:\GnuWin32

    在windows上搭建镜像yum站的方法(附bat脚本)

  修改环境变量

    右键计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量  GNU_HOME=D:\GnuWin32\bin

    在windows上搭建镜像yum站的方法(附bat脚本)

    添加path变量,在cmd中可以使用wget命令。  PATH=;%GNU_HOME%

    在windows上搭建镜像yum站的方法(附bat脚本)

c:\>wget -V
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = D:\GnuWin32/etc/wgetrc
GNU Wget 1.11.4

Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

最初由 Hrvoje Niksic <hniksic@xemacs.org> 编写。
Currently maintained by Micah Cowan <micah@cowan.name>.

提供web服务

 同时提供web服务需要用到nginx 

   nginx 下载 页面 http://nginx.org/en/download.html

附:nginx 配置文件

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            autoindex  on;
            root   html;
            index  index.html index.htm;
        }
    }
    server {
        listen       80;
        server_name  repo.zabbix.com;
        location / {
            autoindex  on;
            root   html/zabbix;
            index  index.html index.htm;
        }
    } 
    server {
        listen       80;
        server_name  sp.repo.webtatic.com mirror.webtatic.com;
        location / {
            autoindex  on;
            root   html/webtatic;
            index  index.html index.htm;
        }
    }
}

最后使用浏览器访问

  在windows上搭建镜像yum站的方法(附bat脚本)

在linux服务器中设置解析

[root@m01 ~]# cat /etc/hosts
127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4
::1          localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.1     mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com

附件:

附件1、  cwrsync + 全部 bat 脚本  https://files.cnblogs.com/files/clsn/cwRsync.rar

附件2、  nginx + 配置文件  https://files.cnblogs.com/files/clsn/nginx.zip

 

特别感谢:国强哥提供wget命令使用

               此文章出自惨绿少年,转载请注明     

上一篇:关于低代码平台的一点思考


下一篇:人人都是 Serverless 架构师 | 现代化 Web 应用开发实战