在做FAI的过程中,需要用到debian的镜像,此时需要使用本地的镜像,如果直接使用fai-mirror,所生成的镜像将是package-config中的包,一般都不全,所以还是使用了debmirror的方法。
如何建立一个
Debian镜像网站呢?在
Debian的
官方网站已经有专门的介绍:
http://www.debian.org/mirror/ftpmirror
这是基于rsync
软件的方法,网页也提供了进行网站镜像的现成脚本,但是实现起来比较麻烦而且常常失败。我想使用debmirror这个
软件来进行Debian镜像应该更简单一些。
Debmirror是一个德国人用perl写的Debian网站镜像工具,使用起来更为简单和方便。在缺省的情况下,debmirror使用ftp方式 (也可以使用rsync方式)来获取debian所有内容到本地
硬盘,再通过
系统的http
服务器或是ftp
服务器将本机
设置为合法的apt源,其他客户 通过修改自己debian
系统的/etc/sources.list
文件指向该机器。
在对Debian做镜像之前有一个要考虑的问题是:你准备对Debian镜像到何种程度,或者说你的硬盘有多大?一些我们很少用的
计算机类型的 Debian资源是否需要镜像?如果镜像整个Debian,大约需要100G的硬盘空间,每种CPU架构的Woody Sarge Sid软件加起来大约是6--8G。
下面来看看具体工作过程:
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电脑的sarge的main部分的软件包而且还不带源码,下载来的包放在mydebian目录下,那么
命令是:
#debmirror -v -d unstable -s main/debian-installer -e http -h 192.168.10.202 --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更新就可以了。