现在企业基本都有内部网络禁止访问外网,对于想使用外网yum源来说比较困难,挂载DVD可能也不符合企业的需求,所以解决的办法是自建一个yum服务器,通过代理服务器,定时把需要的yum源都从公网同步到yum服务器上,这台服务器就可以提供内网机器使用。
1.找到一个rsync共享的yum源,并且代理服务器可以访问,国内比较好的就是网易镜像站,阿里镜像站,清华镜像站
mirrors.163.com
mirrors.aliyun.com
mirror.tuna.tsinghua.edu.cn
2.新建目录,保存在yum服务器
mkdir /home/centos
3.编写同步脚本,我这里是用了别人的脚本,同步一个Centos源
#!bin/bash
#web:www.simonzhang.net
#base value
#要同步的源
YUM_SITE="rsync://mirrors.163.com/centos/"
#本地存放目录
LOCAL_PATH="/home/centos/"
#需要同步的版本,我只需要5和6版本的
LOCAL_VER=" 6 6* 7 7*"
#同步时要限制的带宽
BW_limit=2048
#记录本脚本进程号
LOCK_FILE="/var/log/yum_server.pid"
#如用系统默认rsync工具为空即可。
#如用自己安装的rsync工具直接填写完整路径
RSYNC_PATH=""
#check update yum server pid
MY_PID=$$
if [ -f $LOCK_FILE ]; then
get_pid=`/bin/cat $LOCK_FILE`
get_system_pid=`/bin/ps -ef|grep -v grep|grep $get_pid|wc -l`
if [ $get_system_pid -eq 0] ; then
echo $ MY_PID>$LOCK_FILE
else
echo "Have update yum server now!"
exit 1
fi
else
echo $ MY_PID>$LOCK_FILE
fi
#check rsync tool
if [ -z $RSYNC_PATH ]; then
RSYNC_PATH=`/usr/bin/whereis rsync|awk ' ''{print $2}'`
if [ -z $RSYNC_PATH ]; then
echo 'Not find rsync tool.'
echo 'use comm: yum install -y rsync'
fi
fi
#sync yum source
for VER in $ LOCAL_VER;
do
# Check whether there are local directory
if [ ! -d "$ LOCAL_PATH$VER" ] ; then
echo "Create dir $ LOCAL_PATH$ VER"
`/bin/mkdir -p $LOCAL_PATH$VER`
fi
# sync yum source
echo "Start sync $ LOCAL_PATH$ VER"
$ RSYNC_PATH -avrtH --delete --bwlimit=$BW_limit --exclude "isos" $YUM_SITE$ VER $ LOCAL_PATH$ VER
done
#clean lock file
`/bin/rm -rf $LOCK_FILE`
echo 'sync end.'
exit 1
站点设置,把/home/centos链接到你yum源服务器的站点上,内网服务器就可以访问了