在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的时候需要编写脚本,设置要同步的内容

其中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

  修改环境变量

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

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

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;
        }
    }
}

最后使用浏览器访问

在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命令使用

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潇涧技术专栏

Setting Up Environments on New Mac

JAVA_HOME=/Library/Java/JavaVirtualMachines/1.7.0_51.jdk/Contents/Home

642
来自专栏Kurt Niu 的博客

自己编译Android(小米5)内核并刷入(一键自动编译打包)

之前自己编译过Android系统,刷入手机。编译很简单,但坑比较大,主要是GFW埋的坑。。

1613
来自专栏杂烩

Rancher运行dubbo服务 原

        5、dubbo是dubbo-spring-boot-starter:1.0.0

832
来自专栏BestSDK

基于Docker的PHP开发环境

【编者的话】本文作者是Geoffrey,他是一个PHP的Web开发者,喜欢DevOps和Docker。本文主要介绍了如何使用Docker构建PHP的开发环境,文...

2309
来自专栏魏艾斯博客www.vpsss.net

宝塔远程桌面助手怎么用(Linux 服务器)

1234
来自专栏散尽浮华

Docker容器学习梳理--日常操作总结

使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Com...

2805
来自专栏zhisheng

基于 Harbor 搭建 Docker 私有镜像仓库

什么是 Harbor? 第一次使用这个的时候是刚进公司处理的第一个任务的时候,发现 Harbor 就是一个用于存储和分发 Docker 镜像的企业级Regist...

33310
来自专栏Linyb极客之路

使用 Docker 搭建 Java Web 运行环境

Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内...

3345
来自专栏惨绿少年

Docker 容器入门

1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件...

3197
来自专栏一只程序汪的自我修养

手把手教你用Jenkins自动发布Docker

首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/

1906

扫码关注云+社区