千家信息网

CentOS 6.9自建开源镜像站

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,1、 演示环境:IPOSNginx 版本Rsync 版本清华大学开源软件镜像站192.168.1.146CentOS 6.9 x86_641.10.23.0.6https://mirrors.tuna
千家信息网最后更新 2025年12月03日CentOS 6.9自建开源镜像站

1、 演示环境:

IP

OS

Nginx 版本

Rsync 版本

清华大学开源软件镜像站

192.168.1.146

CentOS 6.9 x86_64

1.10.2

3.0.6

https://mirrors.tuna.tsinghua.edu.cn/

备注:同步的上游 yum 源必须要支持 rsync 协议,否则不能使用 rsync 进行同步。国内的很多开源镜像站都不支持 rsync ,这里以清华大学开源软件镜像站为例。

2、 安装前准备:

(1) 服务器时间校对

(2) 配置 epel

3、 安装配置 Nginx

(1) 安装 Nginx # yum -y install nginx

(2) 创建软件包存放目录: # mkdir -pv /mirror/{centosplus,extras,os,updates,epel}

(3) 配置 Nginx

# cd /etc/nginx/conf.d

# cp default.conf default.conf.bak

# vim default.conf

server {

listen 80;

server_name localhost;

root /mirror/;

location / {

autoindex on;

autoindex_exact_size off;

autoindex_localtime on;

}

}

(4) 检查 Nginx 配置文件语法,并启动 Nginx # nginx -t # service nginx start

(5) 检查 Nginx 监听的 80 端口: # ss -tnlp | grep :80 # pidof nginx

(6) 浏览器中访问站点: 192.168.1.146

4、 同步清华大学开源软件镜像站:

(1) 安装相关软件包: # yum -y install rsync createrepo

(2) 查看每个源下的软件包:

# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/centosplus/x86_64/Packages/

# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/extras/x86_64/Packages/

# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/os/x86_64/Packages/

# rsync --list-only rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/updates/x86_64/Packages/

# rsync -r --list-only rsync://mirrors.tuna.tsinghua.edu.cn/epel/6Server/x86_64/Packages/

(3) 编写同步脚本:

# mkdir -pv /scripts

# vim /scripts/yum_rsync.sh

#!/bin/bash

/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/centosplus/x86_64/Packages/ /mirror/centosplus && /usr/bin/createrepo /mirror/centosplus

/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/extras/x86_64/Packages/ /mirror/extras && /usr/bin/createrepo /mirror/extras

/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/os/x86_64/Packages/ /mirror/os && /usr/bin/createrepo /mirror/os

/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/centos/6.9/updates/x86_64/Packages/ /mirror/updates && /usr/bin/createrepo /mirror/updates

/usr/bin/rsync -avz rsync://mirrors.tuna.tsinghua.edu.cn/epel/6Server/x86_64/Packages/ /mirror/epel && /usr/bin/createrepo /mirror/epel

# chmod +x /scripts/yum_rsync.sh

(4) 编写定时任务:每天凌晨 12 点开始执行同步脚本

# crontab -e --> 0 0 * * * /scripts/yum_rsync.sh

备注:同步耗时较长,且保证磁盘有足够大的容量

同步时可以通过 # top 命令查看 rsync 进程:

同步前目录结构及磁盘容量:

同步后目录结构及磁盘容量:

5、 其它服务器(例如: 192.168.1.145 )配置自建的 yum 源进行软件包下载安装测试:

(1) 创建 yum 源的 repo 配置文件:

# cd /etc/yum.repos.d

# mv CentOS-Base.repo CentOS-Base.repo.bak

# vim CentOS-Base.repo

[base]

name=Marion - CentOS-$releasever - Base

baseurl=http://192.168.1.146/os

enabled=1

gpgcheck=0

[centosplus]

name=Marion - CentOS-$releasever - Centosplus

baseurl=http://192.168.1.146/centosplus

enabled=1

gpgcheck=0

[extras]

name=Marion - CentOS-$releasever - Extras

baseurl=http://192.168.1.146/extras

enabled=1

gpgcheck=0

[updates]

name=Marion - CentOS-$releasever - Updates

baseurl=http://192.168.1.146/updates

enabled=1

gpgcheck=0

# vim epel.repo

[epel]

name=Marion - CentOS-$releasever - EPEL

baseurl=http://192.168.1.146/epel

enabled=1

gpgcheck=0

(2) 清除当前 yum 缓存: # yum clean all

(3) 重新生成 yum 缓存: # yum makecache

(4) 显示可用的 yum 源: # yum repolist

(5) 测试 base 源: # yum -y install httpd # yum info httpd

(6) 测试 epel 源: # yum -y install nginx # yum info nginx

本文转自Marion0728 51CTO博客,原文链接:http://blog.51cto.com/qiuyue/2052813 ,如需转载请自行联系原作者

0