CentOS 6.9自建開源映象站

strivechao發表於2019-08-28

1、  演示環境:

IP

OS

Nginx 版本

Rsync 版本

清華大學開源軟體映象站

192.168.1.146

CentOS   6.9 x86_64

1.10.2

3.0.6

備註:同步的上游 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

1.jpg

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 程式:

1.png

同步前目錄結構及磁碟容量:

1.png

同步後目錄結構及磁碟容量:

4.jpg

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

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

1.png

(5) 測試 base 源: # yum -y install httpd  # yum info httpd

2.png

(6) 測試 epel 源: # yum -y install nginx  # yum info nginx

3.png





      本文轉自Marion0728  51CTO部落格,原文連結:http://blog.51cto.com/qiuyue/2052813 ,如需轉載請自行聯絡原作者


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25469263/viewspace-2655220/,如需轉載,請註明出處,否則將追究法律責任。

相關文章