为什么需要创建Ubuntu本地镜像
Ubuntu发行版光盘中都只有少数常用软件包。Ubuntu上要安装的软件,常常需要到Ubuntu源服务器上下载。
使用如下命令可以搜索和安装可用的软件包。
apt-cache search packageName
sudo apt-get install packageName
apt-get实际使用wget命令,从/etc/apt/sources.list配置文件指定的源上下载对应的.deb软件包,然后使用dpkg -i packageName.deb安装软件。
如果Ubuntu电脑所在的环境网络性能较差,或者不能连接互联网,那么就很难安装Ubuntu Source服务器上的海量软件包。
此时,你可以在局域网内创建自己的Ubuntu Source服务器,从而节省大量网络流量,并且可以大大提高安装软件的速度!
本文将介绍如何创建Ubuntu Source的本地镜像。
创建Ubuntu本地镜像
需求
为了创建ubuntu mirror服务器,你需要至少60G硬盘剩余空间。Ubuntu每一个版本分为32bit和64bit两个版本,有两组deb包。最新的ubuntu版本两组deb包需要大约90GB的空间。
你可以创建ubuntu一个版本的32或者64bit服务器,也可以创建同时服务于32和64bit的服务器。也可以创建服务于所有ubuntu版本的source服务器。根据你的硬盘剩余空间和你的需要而定。
使用sohu的Ubuntu Source服务器作为源服务器
Sohu公司提供了多种Linux和BSD操作系统发行版的source服务器。点击下面链接
可以看到sohu公司提供的所有种类的source服务器。
点击 页面可以看到Ubuntu Source服务器的使用帮助。
你可以直接修改/etc/apt/sources.list文件,添加上sohu的source服务器,从而使用sohu的source服务器,这比使用国外的ubuntu官方source服务器速度要快很多。
我接下来,要根据sohu的Ubuntu Source服务器,构建本地的Ubuntu Source服务器。
我选择sohu的Ubuntu Source服务器作为复制的source的原因:
1,sohu的Ubuntu Source服务器速度相当快。如果我使用ubuntu官方的source服务器作为复制的源,显然会花费更多的时间。
2,sohu的Ubuntu Source服务器每天都会和ubuntu官方source服务器同步一次。因此可以保证我能够使用最新版本的deb包。
我构建的Ubuntu Source服务器也会每天和sohu的Ubuntu Source服务器同步一次。
使用apt-mirror创建Ubuntu Source服务器的本地镜像服务器
Sudo apt-get install apt-mirror
sudo apt-get install apache2
我们需要上面这两个软件来构建我们的本地Ubuntu Source服务器。
我现在以构建ubuntu10.10和ubuntu10.04的32和64位版本的本地ubunt source服务器为例进行介绍。
如果你需要服务于其他版本,请修改对应的配置。
/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 lucid main main/debian-installer restricted restricted/debian-installer universe multiverse
deb maverick main main/debian-installer restricted restricted/debian-installer universe multiverse
deb lucid-security main restricted universe multiverse
deb maverick-security main restricted universe multiverse
deb lucid-updates main restricted universe multiverse
deb maverick-updates main restricted universe multiverse
#deb maverick-proposed main restricted universe multiverse
#deb maverick-backports main restricted universe multiverse
deb-src lucid main restricted universe multiverse
deb-src maverick main restricted universe multiverse
deb-src lucid-security main restricted universe multiverse
deb-src maverick-security main restricted universe multiverse
deb-src lucid-updates main restricted universe multiverse
deb-src maverick-updates main restricted universe multiverse
#deb-src maverick-proposed main restricted universe multiverse
#deb-src maverick-backports main restricted universe multiverse
deb-i386 lucid main main/debian-installer restricted restricted/debian-installer universe multiverse
deb-i386 maverick main main/debian-installer restricted restricted/debian-installer universe multiverse
deb-i386 lucid-security main restricted universe multiverse
deb-i386 maverick-security main restricted universe multiverse
deb-i386 lucid-updates main restricted universe multiverse
deb-i386 maverick-updates main restricted universe multiverse
#deb maverick-proposed main restricted universe multiverse
#deb maverick-backports main restricted universe multiverse
#deb-src lucid main restricted universe multiverse
#deb-src maverick main restricted universe multiverse
说明:
maverick和lucid分别是Ubuntu 10.10和10.04的代号。
deb * 表示下载64位版本的deb软件。
deb-i386 * 表示下载32位版本的deb软件。
然后执行: sudo apt-mirror
这会启动20个线程【上面文件中配置】运行wget到 下面下载相应的deb包。
sudo apt-mirror执行完成后,/var/spool/apt-mirror目录下就有了所有需要的deb包和相应的配置文件。
因为我现在是从sohu下载的,所以实际的文件在:/var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu目录下。