下载完成后,客户机如果要从PXE安装ubutnu,还需要下载一些文件。对于下载哪些文件,也许对于每个版本,每个源都不同。
对于Ubuntu 10.04,需要下载3个额外软件包列表。分别是:
lucid/main/debian-installer/binary-i386/Packages.gz
lucid/restricted/debian-installer/binary-i386/Packages.gz
lucid-updates/main/debian-installer/binary-i386/Packages.gz
这些列表中所列出的软件默认的apt-mirror没有镜像复制它们,因此额外的下载他们,可以从你镜像的服务器地址上来下载。我已经将下载过程制作成了脚本,内容如下。其中$server表示源镜像的ubuntu地址。$version表示ubuntu的版本,$client表示你的apt-mirror镜像后的ubuntu目录。默认是采用成都电子科技大学源为服务器,/ubuntu/mirror/ubuntu.uestc.edu.cn/ubuntu为镜像目录,安装ubuntu 10.04。下面的脚本可以放在apt-mirror镜像var目录的postmirror.sh中来执行,也可以单独来执行。
#!/bin/sh
if [ -z $1 ]
then
server=http://ubuntu.uestc.edu.cn/ubuntu
else
server=$1
fi
if [ -z $2 ]
then
version=lucid
else
version=$2
fi
if [ -z $3 ]
then
client=/ubuntu/mirror/ubuntu.uestc.edu.cn/ubuntu
else
client=$3
fi
wget $server/dists/$version/main/debian-installer/binary-i386/Packages.gz
gunzip -f Packages.gz
for i in $(sed -n '/^Filename:/p' Packages|awk '{print $2}')
do
cd $client
j=${i%\/*}
cd $j
wget $server/$i
chmod 755 $client/$i
done
wget $server/dists/$version-updates/main/debian-installer/binary-i386/Packages.gz
gunzip -f Packages.gz
for i in $(sed -n '/^Filename:/p' Packages|awk '{print $2}')
do
cd $client
j=${i%\/*}
cd $j
wget $server/$i
chmod 755 $client/$i
done
wget $server/dists/$version/restricted/debian-installer/binary-i386/Packages.gz
gunzip -f Packages.gz
for i in $(sed -n '/^Filename:/p' Packages|awk '{print $2}')
do
cd $client
j=${i%\/*}
cd $j
wget $server/$i
chmod 755 $client/$i
done