2007年2月6日星期二

创建本地ubuntu mirror(镜像)

前两天成功"欺骗"一位同事安装了个ubuntu dapper,能够得手的原因主要是他忙于在网上看小说,原来的xp被恶意软件、恶意网站和病毒搞垮了,而我为他安装的linux和firefox对这些都基本免疫,所以才能够得手。如果能够再克服activex和msword两个障碍,就可以推广到更大的范围了。

安装很顺利,不过使用的是外置usb光驱启动安装,所以读盘的速度比较慢,下回我会尝试下载一个server版的光盘安装,会快很多,只是安装完要在手工安装desktop包。另外安装完成以后按照" 官方配置指南"配置中文和java等也需要下载一些东西,我这里是网通的线路,官方的源中很少有快的,除了国立台湾大学的。不过这样总不是办法,随着线路情况的变化,这些源的快慢变化不定,还是局域网内有一个稳定的源最为稳妥,所以萌生了mirror一个ubuntu的念头。

作一个镜像也很简单的,只要有一台ubuntu,配置好apache,安装上rsync程序,准备足够的硬盘空间,就可以了,通过rsync编写一个小的脚本,就可以了,脚本如下:

#! /bin/bash
rsync -aPS –delete-after \
–exclude *amd64* –exclude *ia64* \
–exclude *powerpc* –exclude *sparc* \
–exclude *hoary* –exclude *warty* \
–exclude *breezy* \
–exclude *.iso \
–exclude *.orig.tar.gz –exclude *.diff.gz \
–exclude *.dsc \
rsync://archive.ubuntu.com/ubuntu \
/home/ubuntu

这个例子抄自这里,从hiweed传出来的,不过注释有些小错误,更正如下:

exclude amd64 ia64 powerpc sparc 是去掉不想要的架构
exclude hoary warty breezy 是去掉不想要的发行版本
exclude .iso 是去掉光盘镜像文件
exclude orig diff dsc 是去掉源代码软件包(?)
rsync://… 是镜像来源,和source.list中的一样
/home/ubuntu 是镜像文件保存到哪里

apache配置虚拟目录就不说了,以后局域网的电脑的source.list就简单了,比如deb http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper main restricted universe multiverse里面,把网址http://…部分更换成内网服务器地址,比如 http://server/ubuntu/就可以了。

crontab -e把这个脚本放到cron中,每天执行,嘿嘿。

# m h dom mon dow command
0 4 * * * /home/fwolf/rsync_ubuntu.sh

镜像不知道需要花费多少空间,有了结果以后再告诉大家。

Source:http://www.fwolf.com/blog/post/285