建立和使用CentOS内网更新源

一. 为什么要自建更新源


当内网中有多台CentOS机器时,如果每次更新都走外网的话,通常有如下缺点:

1. 内网机器需要多次开通访问外网权限,且影响安全性;

2. 更新速度慢,浪费时间和公司带宽。

因此,我们可以建立内网中的更新源,克服上述缺陷。


二. 如何自建更新源


1. 安装 rsync、screen:

yum install rsync screen -y

2. 编写脚本:

#!/bin/bash

INTERVAL=60

CENTOS_SRC=\'#\'" //mirrors.kernel.org/centos/"

SRC_PATH="/rsync/centos"

/bin/mkdir -p ${SRC_PATH} &>/dev/null

echo "sync centos source from ${CENTOS_SRC}"

/usr/bin/rsync -azPS -4 --bwlimit 256 \

--exclude *ia64* --exclude *powerpc* --exclude *sparc* \

--exclude *.iso --exclude *.orig.tar.gz ${CENTOS_SRC} ${SRC_PATH}

sleep ${INTERVAL}

这里保存为/root/rsync/rsync.sh

chmod a+x /root/rsync/rsync.sh #添加执行权限


注意,这里排除了很多用不到的包,以及庞大的光盘镜像,因为在日常更新中我们并不能用得到它们。

3. 在screen中运行该脚本:

screen -S rsync #将此screen命名为rsync

/root/rsync/rsync.sh

在screen中运行的目的是为了可以随时查看与官方源的同步进度。

为免影响公司中正常的网络行为,节约带宽,也可以设置在cron中执行:

crontab -e

0 3 * * * /root/rsync/rsync.sh

#每日凌晨3点运行该脚本同步

接下来就是漫长的第一次同步了,根据网速不同以及 bwlimit 参数的限制,可能需要同步个四五天 :P


三. 如何使用更新源

1. 配置webserver

我们这里使用Apache举例,当然,其他的webserver同样可以,如Nginx

添加个虚拟主机,配置可以这么写,注意替换你的域名和目录:

<VirtualHost *:80>

ServerName centos.yourdomain.net

ServerAlias somealias.yourdomain.net

ServerAdmin [email protected]

DocumentRoot "/rsync/centos"

<Directory "/rsync/centos">

Options Includes Indexes MultiViews FollowSymLinks

php_admin_flag engine ON

php_admin_value open_basedir "/rsync/centos:/tmp"

</Directory>

</VirtualHost>

保存后重启apache,service httpd restart,让配置生效。


2. 配置域名解析

这里就不多说了,在域名面板中将centos.yourdomain.net解析到你的server ip。

如果无权限修改域名解析,那就改/etc/hosts文件,效果一样。


3. 配置yum

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

sed -i -e "s/mirrorlist=/#mirrorlist=/g" /etc/yum.repos.d/CentOS-Base.repo

sed -i -e "s/#baseurl/baseurl/g" /etc/yum.repos.d/CentOS-Base.repo

sed -i -e "s#mirror.centos.org/centos#centos.yourdomain.net#g" /etc/yum.repos.d/CentOS-Base.repo

# 更改repo中为自建源


sed -i -e "s/enabled=1/enabled=0/" /etc/yum/pluginconf.d/fastestmirror.conf

# 关闭yum-fastestmirror插件


4. 测试yum

yum update

如果可以正常更新不报错,则设置成功。


四. 备注


1. 注意rsync同步目标目录的权限,以及apache虚拟主机配置中的options;

2. 脚本仍有可精简的余地,如庞大的openoffice,以及过期已久的版本目录,都可以exclude之;

3. 注意:千万不可yum remove yum-fastestmirror,否则会连yum一起卸掉,造成灾难性的后果。


你可能感兴趣的:(安全性,null,source,screen,带宽)