1.前言
為什麼需要内部yum源呢,有可能是業務内部的伺服器對外是不通了,居于一些安全方面的考慮。内部yum源又有什麼好處呢,第一,速度快;第二,内網可控,外網有問題也不影響内網包的下載下傳和安裝等。
2.部署
2.1 建立yum倉庫目錄
mkdir -p /data/yum_data/centos/6/os/x86_64/
mkdir -p /data/yum_data/centos/6/extras/x86_64/
mkdir -p /data/yum_data/centos/6/updates/x86_64/
mkdir -p /data/yum_data/epel/6/x86_64/
2.2 鏡像同步公網yum源
上遊yum源必須要支援rsync協定,否則不能使用rsync進行同步
CentOS官方标準源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
同步指令:
rsync -auvzP --bwlimit=1000 rsync://rsync.mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/
rsync -auvzP --bwlimit=1000 rsync://rsync.mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/centos/6/extras/x86_64/
rsync -auvzP --bwlimit=1000 rsync://rsync.mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/centos/6/updates/x86_64/
# epel源
rsync -auvzP --bwlimit=1000 --exclude=debug rsync://rsync.mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
2.3 提供yum服務
部署tengine,server的配置如下:
#/usr/local/nginx/conf.d/iso.conf
server {
listen 80;
server_name localhost;
access_log logs/iso.log main;
location / {
autoindex on;
root /data/yum_data/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
2.4 用戶端配置
配置用戶端的yum源檔案,配置在/etc/yum.repos.d/下面:
/etc/yum.repos.d/CentOS-Base.repo 配置:
[base107]
name=CentOS-$releasever - Base
baseurl=http://192.168.31.107/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates
[updates107]
name=CentOS-$releasever - Updates
baseurl=http://192.168.31.107/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras107]
name=CentOS-$releasever - Extras
baseurl=http://192.168.31.107/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
/etc/yum.repos.d/epel.repo 配置:
[epel107]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://192.168.31.107/epel/6/$basearch
failovermethod=priority
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
2.5 用戶端的指令使用
yum clean all
yum install telnet -y