一.需求分析
能不能在局域网搭建一个Ubuntu 镜像服务器,
这样做的好处是能够节省Ubuntu某些经常使用工具的安装时间。
二.部署过程
2.1 测试环境
目前在公司内有一台能链接到外网的Ubuntu机器, IP : 192.168.8.173 ,
Ubuntu版本为Ubuntu 9.04 i686。
2.2 搭建步骤
为了建立Ubuntu mirror 服务器,最少须要60G硬盘空间,Ubuntu每一个版本都有32 bit
和64 bit两个版本,有两组deb包。固然能够建立Ubuntu一个版本的32 bit 和64 bit 的
镜像服务器,也能够建立所有版本的镜像。
这里使用sohu 公司的mirror地址做为本地Ubuntu Source 服务器,使用sohu的缘由是:
1. sohu的Ubuntu Source 服务器速度至关快
2. sohu 的ubuntu Source 服务器天天会和Ubuntu官方服务器同步一次,这样能够保
证咱们使用的是最新的软件包。
修改方式以下:web
root@ms ~: cat /etc/apt/sources.listapache
deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverseubuntu
deb http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse浏览器
deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse服务器
deb http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse工具
deb http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiversepost
deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse测试
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiversespa
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse线程
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
安装下面工具:
root@ms ~: apt-get install apt-mirror
root@ms ~: apt-get install apache2
下面就构建Ubuntu 9.04 32bit 的本地Ubuntu mirror 服务器为例子,来讲明如何配置:
修改配置文件:
root@ms ~: cat /etc/apt/mirror.list
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb-i386 http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-proposed main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-proposed main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-backports main restricted universe multiverse
#clean http://archive.ubuntu.com/ubuntu
备注:
deb-i386 http:// 表示下载32 bit 版本的deb 软件
deb http:// 表示下载64bit 版本的deb 软件
jaunty 表示Ubuntu 9.04的代号
设置完成后,输入下面命令:
root@ms ~: apt-mirror
这时系统会启动20个线程运行wget 到 http://mirrors.sohu.com/Ubuntu 下面下载相应的
deb包。时间比较的长,该命令执行完成后,/var/spool/apt-mirror目录下就有了全部需
要的deb包和相应的配置文件。
因为我是从sohu下载的,因此实际的文件在 :
/var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu 目录下。
这样,本地就有了全部Ubuntu Source 服务器所须要的文件,而后开启相应的服务:
这里使用apache2做为Web服务器,默认根目录在/var/www/,因此能够在该目录下作
个连接,以下所示:
root@ms ~: cd /var/www
root@ms ~: ln /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s
开启web服务:
root@ms ~: apache2ctl start
打开浏览器输入下面地址便可看到和sohu mirror同样的页面:
http://192.168.8.173/ubuntu
同时也可使用crontab进行天天的更新,修改配置文件:
root@ms ~: cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
#0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
把命令前面的“#”去掉便可,这样系统会自动使用apt-mirror去和sohu服务器更新。
最后,咱们所要作得就是在客户端的机器上修改更新源配置文件,将地址改为本地
mirror服务器的地址便可,以下所示:
root@ms ~: cat /etc/apt/sources.list
deb http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
执行“apt-get update”来重建本地索引,这样之后就会使用本地的Mirror 服务器进行更新。