原文地址:http://zhumeng8337797.blog.163.com/blog/static/100768914201172911226244/
%E9%85%8D%E7%BD%AEyum%E6%BA%90%E5%B9%B6%E4%B8%8E%E5%85%AC%E7%BD%91%E5%90%8C%E6%AD%A5%E6%9B%B4%E6%96%B0/
写得很好,测试可以用,正在同步了
------------下文引用上述网址,感谢原作者的贡献--------------------
尽管sohu和163都推出了mirrors服务,但当要配置多台服务器时仍然需要占用很多公网带宽,因此配置一个本地yum源并时常与公网同步就 显得非常有必要了。本文介绍的就是针对CentOS 5.4 配置yum源, 并且每日同步公网数据。每日的同步使用rsync协议,这里要注意并不是所有的mirrors站点都支持rsync协议,不过不用担心,下文有更新脚本, 里面有我测试过的几个支持rsync协议的mirros站点。
配置yum源
本文要配置3个yum软件仓库,分别为:CentOS标准软件仓库、epel、以及rpmforge。经过多次尝试,定位了速度和更新频率都比较理想的几个站点。更多的mirrors站点参见以下网址:
CentOS:
epel:
rpmforge:
同步yum源脚本:
#!/bin/bash
#==========================================
# Program : update_yum_source.sh
# Info : 定期同步官方 yum 源到本机
# Version : 2010.01.28 First Release
#==========================================
Date=`date +%Y%m%d`
LogFile="/data/logs/rsync_yum/$Date.log"
CentOSTrunkVer="5"
CentOSCurrentVer="5.4"
ReceiveMail="nathanzhou@mysite.com"
RsyncBin="/usr/bin/rsync"
RsyncPerm="-avrt --delete --exclude=debug/ --exclude=isos/"
CentOS_Trunk_Ver_Path="/data/soft/mirror.mysite.com/centos/$CentOSTrunkVer"
CentOS_Current_Ver_Path="/data/soft/mirror.mysite.com/centos/$CentOSCurrentVer"
YumSiteList="rsync://mirror.averse.net/centos"
#============ epel ==============
epelSite="rsync://mirrors.sohu.com/fedora-epel/"
epelLocalPath="/data/soft/mirror.mysite.com/epel"
# rpmforge
rpmforgeSite="rsync://apt.sw.be/freshrpms/pub/dag/redhat/el5/"
rpmforgeLocalPath="/data/soft/mirror.mysite.com/rpmforce"
echo "---- $Date `date +%T` Begin ----" >>$LogFile
# centos 5
$RsyncBin $RsyncPerm $YumSiteList/$CentOSTrunkVer/ \
$CentOS_Trunk_Ver_Path >> $LogFile
# centos 5.4
$RsyncBin $RsyncPerm $YumSiteList/$CentOSCurrentVer/ \
$CentOS_Current_Ver_Path >> $LogFile
# epel
$RsyncBin $RsyncPerm --exclude=4/ --exclude=4AS/ --exclude=4AS/ \
--exclude=4WS/ --bwlimit=500 $epelSite $epelLocalPath >> $LogFile
# rpmforge
$RsyncBin $RsyncPerm $rpmforgeSite $rpmforgeLocalPath >> $LogFile
echo "---- $Date `date +%T` End ----" >> $LogFile
/bin/mail -s "opt001 - update yum source - $Date" $ReceiveMail<$LogFile
该脚本只更新了CentOS 5.4的软件包,其它的版本都略过了。根据不同的情况,脚本中还有很多变量需要做相应的修改,如yum保存路径,更新后发送的邮件地址等等。
首次执行该脚本会下载很多资源,大概60G左右,以后就会差异更新了。同步好软件后,下一步就要配置web服务了,这样client端的yum程序 才能下载我配置好的yum源,当然也可以配置ftp服务。
最后将脚本加入到计划任务中每日执行一次:
3 3 * * * /bin/bash /root/bin/update_yum_source.sh
配置客户端yum
由于我新增了2个yum软件仓库,因此yum客户端需要安装相应的软件包:
rpmforge:
EPEL:
选择系统对应的最新版本下载安装。
安装完成后需要将/etc/yum.repos.d/*.repo 文件中的站点替换为上文nginx配置的站点名,如:CentOS-Base.repo文件:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.mysite.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.mysite.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
baseurl=http://mirrors.mysite.com/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.mysite.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.mysite.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://mirrors.mysite.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
epel.repo 和rpmforge.repo文件修改与CentOS-Base.repo文件类似。
需要注意一点的是,我配置的站点是没有经过公网DNS注册的,因此需要修改host文件指定其IP。
文件修改完毕后执行yum clean all;yum makecache 没有报错的话下次yum安装程序时就通过自己的源安装了。
--------------------------上述内容引用前文链接-------------------------------------
这几天已经同步完了,也可以做成ftp来访问
一、将下载下来的文件,生成依赖关系
createrepo -g /data/yum/epel/5/i386/repodata/repomd.xml /data/yum/epel/5/i386/repodata/
createrepo -g /data/yum/epel/5/SRPMS/repodata/repomd.xml /data/yum/epel/5/SRPMS/repodata/
二、将链接挂载到ftp根目录 下
1、在ftp目录下创建空目录
cd /var/ftp/pub/
mkdir i386
mkdir SRPMS
2、将rpm目录挂载到空目录i386和SRPMS
mount --bind /data/yum/epel/5/i386 i386
mount --bind /data/yum/epel/5/SRPMS SRPMS
从浏览器打开可以看见i386下面的rpm文件(如果用ln -s 创建软链接的话则无法访问,之前不知道试了修改访问权限和所属用户都不行-_-||)
三、更改软件仓库文件
nano /etc/yum.repos.d/yum.repo
[Yum-ftp]
name=base
baseurl=ftp://IP/pub/i386
[Yum-ftp2]
name=base2
baseurl=ftp://IP/pub/SRPMS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
四、 yum check-list
[root@localhost ~]# yum check-update
Yum-ftp | 1.1 kB 00:00
Yum-ftp/primary | 1.7 MB 00:00
Yum-ftp 4921/4921
Yum-ftp2 | 1.1 kB 00:00
Yum-ftp2/primary | 806 kB 00:00
Yum-ftp2 2932/2932
lua.i386 5.1.4-4.el5 Yum-ftp
perl-Net-Daemon.noarch 0.44-7.el5 Yum-ftp
OK,完毕。
五、安装cacti
yum install cacti
报错
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 217521f6
Public key for cacti-0.8.7f-1.el5.noarch.rpm is not installed
安装sohu的key 就可以
rpm --import
在salogs搜索了yum rsync的脚本,拿来一试感觉不错。就是共享出来,以下我根据实际情况修改并增加了其他同步的文件。存储使用了mfs。
#!/bin/bash
Date=`date +%Y%m%d`
LogFile="/var/log/rsync_yum/$Date.log"
CentOSTrunkVer="5"
CentOSCurrentVer="5.5"
CentOSCurrentv="4.8"
ReceiveMail="nathanzhou@mysite.com"
Cpanpath="/data0/yum/mirrors.sohu.com/CPAN/"
RsyncBin="/usr/local/bin/rsync"
RsyncPerm="-avrt --delete --exclude=debug/ --exclude=isos/"
CentOS_Trunk_Ver_Path="/data0/yum/mirrors.sohu.com/centos/$CentOSTrunkVer"
CentOS_Current_Ver_Path="/data0/yum/mirrors.sohu.com/centos/$CentOSCurrentVer"
CentOS_Current_v_Path="/data0/yum/mirrors.sohu.com/centos/$CentOSCurrentv"
YumSiteList="rsync://mirrors.sohu.com/centos"
Cpansitelist="cpan.wenzk.com::CPAN"
#============ epel ==============
epelSite="rsync://mirrors.sohu.com/fedora-epel/"
epelLocalPath="/data0/yum/mirrors.sohu.com/epel"
# rpmforge
rpmforgeSite="rsync://mirrors.sohu.com/dag/redhat/"
rpmforgeLocalPath="/data0/yum/mirrors.dz"
# CPAN mirrors
cpansite="rsync://mirrors.sohu.com/nginx/"
cpanlocalpath="/data0/yum/mirrors.sohu.com/CPAN/"
echo "---- $Date `date +%T` Begin ----" >>$LogFile
#CPAN
$RsyncBin $RsyncPerm $Cpansitelist $cpanlocalpath >> $LogFile
# centos 5
$RsyncBin $RsyncPerm $YumSiteList/$CentOSTrunkVer/ \
$CentOS_Trunk_Ver_Path >> $LogFile
# centos 5.5
$RsyncBin $RsyncPerm $YumSiteList/$CentOSCurrentVer/ \
$CentOS_Current_Ver_Path >> $LogFile
# centos 4.8
$RsyncBin $RsyncPerm $YumSiteList/$CentOSCurrentv/ \
$CentOS_Current_v_Path >> $LogFile
# epel
$RsyncBin $RsyncPerm --exclude=4/ --exclude=4AS/ --exclude=4AS/ \
--exclude=4WS/ --exclude=beta/ --exclude=testing/ $epelSite $epelLocalPath >> $LogFile
# rpmforge
$RsyncBin $RsyncPerm $rpmforgeSite $rpmforgeLocalPath >> $LogFile
# CPAN
#$RsyncBin $RsyncPerm $cpansite $cpanlocalpath >> $LogFile
echo "---- $Date `date +%T` End ----" >> $LogFile
将其置于cron中,一天同步四次。
* */6 * * * /usr/local/bin/yummirror 2>&1 >/dev/null &
------------------------------------------------------------------
1.同步源到本地服务器
rsync -avzLP –delete –exclude=SRPMS/ –exclude=x86_64/ –exclude=isos/rsync://mirrors.sohu.com/centos/6.0/ /opt/centos/i386/
sohu的源同步好像有点慢,这里有个加拿大的源,速度还可以
rsync -avzLP –delete –exclude=SRPMS/ –exclude=x86_64/ –exclude=isos/ rsync://rsync.muug.mb.ca/centos/6.0/ /opt/centos/i386/
2.搭建本地web服务(apache)
DocumentRoot /opt/centos
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
3.编辑本地YUM服务器所使用的.repo文件 vim /etc/yum.repos.d/CentOS-Base.repo (当然,编辑之前最好备份一份)
[updates]
name=CentOS-$releasever – updates
baseurl=
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[base]
name=CentOS-$releasever – base
baseurl=$basearch/os/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[fasttrack]
name=CentOS-$releasever – fasttrack
baseurl=$basearch/fasttrack/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-$releasever – extras
baseurl=$basearch/extras/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[contrib]
name=CentOS-$releasever – contrib
baseurl=$basearch/contrib/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-$releasever – centosplus
baseurl=$basearch/centosplus/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[addons]
name=CentOS-$releasever – addons
baseurl=$basearch/addons/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
说明: 上面的 192.168.5.30 是本地yum源服务器IP, gpgkey一定要是 RPM-GPG-KEY-CentOS-6,如果没有 请下载
wget
然后将这个新的 CentOS-Base.repo 下载到需要客户机上的/etc/yum.repos.d/ 下面, 执行 yum clean all , yum update 就可以升级了
就是如此简单.
Rsync命令参数详解
在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。Rsync的命令格式可以为以下六种:
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]HOST:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
对应于以上六种命令格式,rsync有六种不同的工作模式:
1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@172.16.78.192::www /databack
5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@172.16.78.192::www
6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://172.16.78.192/www
rsync参数的具体解释如下:
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, --links 保留软链结
-L, --copy-links 想对待常规文件一样处理软链结
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
--safe-links 忽略指向SRC路径目录树以外的链结
-H, --hard-links 保留硬链结 -p, --perms 保持文件权限
-o, --owner 保持文件属主信息 -g, --group 保持文件属组信息
-D, --devices 保持设备文件信息 -t, --times 保持文件时间信息
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
-n, --dry-run现实哪些文件将被传输
-W, --whole-file 拷贝文件,不进行增量检测
-x, --one-file-system 不要跨越文件系统边界
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节
-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
--delete 删除那些DST中SRC没有的文件
--delete-excluded 同样删除接收端那些被该选项指定排除的文件
--delete-after 传输结束以后再删除
--ignore-errors 及时出现IO错误也进行删除
--max-delete=NUM 最多删除NUM个文件
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
--force 强制删除目录,即使不为空
--numeric-ids 不将数字的用户和组ID匹配为用户名和组名
--timeout=TIME IP超时时间,单位为秒
-I, --ignore-times 不跳过那些有同样的时间和长度的文件
--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
-T --temp-dir=DIR 在DIR中创建临时文件
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
-P 等同于 --partial
--progress 显示备份过程
-z, --compress 对备份的文件在传输时进行压缩处理
--exclude=PATTERN 指定排除不需要传输的文件模式
--include=PATTERN 指定不排除而需要传输的文件模式
--exclude-from=FILE 排除FILE中指定模式的文件
--include-from=FILE 不排除FILE指定模式匹配的文件
--version 打印版本信息
--address 绑定到特定的地址
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
--port=PORT 指定其他的rsync服务端口
--blocking-io 对远程shell使用阻塞IO
-stats 给出某些文件的传输状态
--progress 在传输时现实传输过程
--log-format=formAT 指定日志文件格式
--password-file=FILE 从FILE中得到密码
--bwlimit=KBPS 限制I/O带宽,KBytes per second -h, --help 显示帮助信息
|
由 于 星期日, 03/07/2010 - 09:42 发表
在《Yum 配置文件 - [repository] 选项的设置》中,提到 yum 命令和 yum 配置文件中需要使用到的一些变量,如 $releasever, $arch 和 $basearch,本节主要说明这些变量的来源及作用。
在《》中,提到 yum 命令和 yum 配置文件中需要使用到的一些变量,如 $releasever, $arch 和 $basearch,本节主要说明这些变量的来源及作用。
yum 配置文件是指 /etc/yum.conf 和 /etc/yum.repos.d/ 目录下的所有 .repo 配置文件
$releasever
此变量表示 Fedora 的发行版,yum 通过 /etc/yum.conf 文件,从 distrooverpky= 行取得 $releasever 的值。如果 /etc/yum.conf 文件中没有这一行,yum 则从 redhat-release (应该是 fedora-release) 软件包中推算出正确的值.
$arch
此变量用于标识系统所用的 CPU 平台,变量的值通过 uname 命令得出,$arch 的有效值为 i586, i686 和 x86_64
$basearch
此变量用于参照系统的基本平台,例如,i686 和 i586 机器的基本平台是 i 386,AMD64 和 Intel64 机器的基本平台是 x86_64
$YUM0-9
$YUM0 ~ $YUM9 这十个变量分别被 shell 环境中的同名变量的值所替代。如果 /etc/yum.conf 文件中设置了这些变量,而 shell 环境中没有同名变量,它的值则不被代替。
服务器端:
1.服务器上YUM源同步网络YUM源
[root@host66 ~]# crontab -l
# rsync yum source
00 02 * * * /usr/bin/rsync -aqrtzH --delete --exclude=SRPMS/ --exclude=x86_64/ --exclude=isos/ rsync://rsync.muug.mb.ca/centos/5.4/ /var/ftp/pub/centos/i386/
2.服务器通过NFS共享YUM源
[root@host66 ~]# cat /etc/exports
/var/ftp/pub/cnetos/i386 *(ro,sync)
客户端:
1.将NFS源共享到本地:(有三种方法)
a.直接 mount 192.168.5.66:/var/ftp/pub/centos/i386 /var/ftp/pub/cnetos/i386 ,可将挂载写到/etc/rc.local(同前面的那样)
b.写到/etc/fstab中 192.168.5.66:/var/ftp/pub/centos/i386 /var/ftp/pub/centos/i386 nfs ro,intr 0 0
c.通过autofs实现自动挂载
[root@host66 ~]# echo '/var/ftp/pub/centos/ /etc/auto.nfs' >> /etc/auto.master
[root@host66 ~]# echo 'i386 -fstype=nfs 192.168.5.66:/var/ftp/pub/centos/i386' >> /etc/auto.nfs
[root@host66 ~]# chkconfig autofs on
[root@host66 ~]# service autofs restart
2.配置.repo文件(备份/etc/yum.repos.d目录中所有文件到别的地方,然后将下面的写到里面)
[root@host66 ~]# cat /etc/yum.repos.d/local.repo
[updates]
name=CentOS-$releasever - Updates
baseurl=file:///var/ftp/pub/centos/i386/updates/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[base]
name=CentOS-$releasever - base
baseurl=file:///var/ftp/pub/centos/i386/os/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[fasttrack]
name=CentOS-$releasever - fasttrack
baseurl=file:///var/ftp/pub/centos/i386/fasttrack/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-$releasever - extras
baseurl=file:///var/ftp/pub/centos/i386/extras/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[contrib]
name=CentOS-$releasever - contrib
baseurl=file:///var/ftp/pub/centos/i386/contrib/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-$releasever - centosplus
baseurl=file:///var/ftp/pub/centos/i386/centosplus/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-$releasever - addons
baseurl=file:///var/ftp/pub/centos/i386/addons/i386
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
好了,整个配置完成了,客户端可以正常使用YUM安装软件了
------------------------------------------------------------------------
以下部分是比较快的源同步实例:(测试均 通过)
rsync -avrtzH --delete --exclude=SRPMS/ --exclude=x86_64/ --exclude=isos/ rsync://rsync.kddilabs.jp/centos/5.4/ /tmp/centos/
rsync -avrtzH --delete --exclude=SRPMS/ --exclude=x86_64/ --exclude=isos/ rsync://rsync.muug.mb.ca/centos/5.4/ /tmp/centos/
rsync -avrtzH --delete --exclude=SRPMS/ --exclude=x86_64/ --exclude=isos/ rsync://mirror.aarnet.edu.au/centos/5.4/ /tmp/centos/
RSYNC源同步服务器可在下面链接查找: