如何建立一个Debian镜像网站呢?在Debian的官方网站已经有专门的介绍:http://www.debian.org/mirror/ftpmirror
在对Debian做镜像之前有一个要考虑的问题是:你准备对Debian镜像到何种程度,或者说你的硬盘有多大?一些我们很少用的 计算机类型的 Debian资源是否需要镜像?如果镜像整个Debian,大约需要100G的硬盘空间,每种CPU架构的Woody Sarge Sid软件加起来大约是6--8G。
方法一:使用Debmirror简单实现
官方提供的是基于rsync软件的方法,网页也提供了进行网站镜像的现成脚本,但是实现起来比较麻烦而且常常失败。使用debmirror这个软件来进行Debian镜像应该更简单一些。
Debmirror是一个德国人用perl写的Debian网站镜像工具,使用起来更为简单和方便。在缺省的情况下, debmirror使用ftp方式 (也可以使用rsync、http方式)来获取debian所有内容到本地硬盘,再通过系统的http服务器或是ftp服务器将本机设置为合法的apt 源,其他客户通过修改自己debian系统的/etc/sources.list文件指向该机器。
下面来看看具体工作过程:
1、安装debmirror软件
#apt-get install debmirror
2、运行debmirror软件获得debian软件包
在此之前,你要决定你的debian软件包放在硬盘的那个目录,这是debmirror运行必需参数,假如:
#debmirror /mydebian
意思是将整个debian以所有的缺省参数镜像到我的电脑的/mydebian目录下。啊,100G呀!要下载多久啊!显然不现实,我们需要使用一些其他参数来调整我们的镜像过程,debmirror的可选参数很多,你可以:
#man debmirror
来查看,下面介绍几个重要的:
-v:详细显示镜像的具体步骤,最好选上,时刻掌握debmirror的动向。
-h:从哪个主机下载debian软件包,缺省是ftp.debian.org,国内我想最好使用debian.cn99.com。
-d:决定镜像debian的哪个版本,我喜欢折中主义,选择sarge。缺省都选。
-s:决定镜像debian的哪个部分,即在main,contrib,non-free三者中选一个,缺省都选。
-a:选择计算机架构方式,缺省为i386。
--nosource:缺省情况下,debmirror会把debian包的源码一起下载,该参数则禁止下载源码
假如我想做个最简单的debian源,从我身边最快的debian网站,镜像i386、arm、amd64电脑的sid、sarge、 testing、unstable、stable的main部分的软件包而且带源码,下载来的包放在debmirror目录下,并且当 Release.gpg和 Release文件下载错误时,忽略继续进行;下载那么命令是:
debmirror -v -e http -h ftp.tw.debian.org -a i386,arm,amd64 -d
sid,sarge,testing,unstable,stable --ignore-release-gpg
--ignore-missing-release --nosource /debmirror
3、下载完后的设置
我想通过http方式发布我的debian镜像,先在我的httpd.conf后面加一句:
Alias /debmirror /mydebian
再用#apachectl restart重新启动apache服务器,就好了。
4、客户端的修改
现在修改/etc/apt/sources.list文件,加入或者只保留:
deb http://your_ip/debmirror sarge main
再用#apt-get update更新就可以了。