Ubuntu 10.04 的源服务器和PXE安装环境搭建。
??? ?搭建ubuntu的更新源服務器的方法主要有apt-mirror和sync,本文主要介紹第一種方法,此方法簡單易做。安裝前首先要準備好一臺可以聯網的服務器,硬盤空間80G以上,安裝Linux操作系統。
主要步驟如下。
1、安裝apt-mirror
apt-mirror可從下面的地址獲得
http://apt-mirror.sourceforge.net/apt-mirror/apt-mirror_0.4.8.orig.tar.gz
或者安裝Ubuntud的apt-mirror可執行包
https://launchpad.net/ubuntu/lucid/+package/apt-mirror
$tar xzvf apt-mirror_0.4.8.orig.tar.gz
$cd apt-mirror-0.4.8
$cp apt-mirror /bin
$mkdir -p /etc/apt
$cp mirror.list /etc/apt
??? 該安裝文件中有個postmirror.sh,這是放在鏡像目錄的var目錄下的,apt-mirror命令執行后會自動執行改腳本內容,默認的postmirror.sh什么也沒有做,如果你需要額外安裝一些軟件包或者其他目的,可以將腳本加在此處。
2、修改mirror.list
$vi /etc/apt/mirror.list
############# Config ##################
#
## default configuration options (uncomment and change to override)
#
#set base_path /var/spool/apt-mirror
#
## if you change the base path you must create the directories below with write privlages
#
#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 nthreads 20
#set _tilde 0
#
## valid values for limit_rate are :
## 10 for 10 Bytes/Second, 10k for 10 Kilobytes/Second, and 10m for 10 Megabytes/Second
#
#set limit_rate 100m
#
############# End Config ##############
######### Mirroring List ##############
#
# supported apt-mirror list entries:
#
# debian source : deb-src http://...
# default native arch : deb http://...
# debian non-native arch : deb-$arch http://...
# where $arch can = (alpha|amd64|armel|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)
#
deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free
#
######### End Mirroring List ##########
######### Cleaning Section ############
#
## directorys managed by apt-mirror
clean http://ftp.us.debian.org/debian
?
## directorys NOT managed by apt-mirror
#skip-clean http://ftp.us.debian.org/debian-minicd/
#skip-clean http://ftp.us.debian.org/debian/dists/sarge/main/installer-i386/
#skip-clean http://ftp.us.debian.org/debian/dists/sid/main/installer-i386/
?
紅色是需要被替換掉的部分。 base_path表示你的鏡像目錄,默認是/var/spool/apt-mirror,
你也可以取消前面的注釋并改成自定義的目錄。我發現修改后就不能用,最后采用鏈接方法解決的。
比如:
$cd /var/spool
$ln -s /ubuntu apt-mirror
?
?
如果需要安裝10.04,則從網絡中找一個離自己最近的源,修改mirror.lst的內容,將源復制進來。
因為我這邊的環境是教育網,離成都電子科技大學很近,所以就采用的成都電子科技大學源。
如下。
?
deb http://ubuntu.uestc.edu.cn/ubuntu lucid main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu lucid-backports main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu lucid-proposed main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu lucid-security main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu lucid-updates main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu lucid main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu lucid-backports main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu lucid-proposed main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu lucid-security main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu lucid-updates main restricted universe multiverse
clean http://ubuntu.uestc.edu.cn/ubuntu
?
將這些行代替上面的紅色文字,保存后退出。
3、開始下載
輸入apt-mirror即開始從電子科技大學服務器源制作鏡像。
這里很容易出錯,我的錯誤如下:
$ apt-mirror
Downloading 32 index files using 20 threads...
Begin time: Mon Nov 24 09:02:03 2008
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Mon Nov 24 09:02:03 2008
Proceed indexes: [Psh: cannot open au.archive.ubuntu.com/ubuntu//dists/intrepid/main/binary-i386/Packages.gz: No such file
apt-mirror: can't open index in proceed_index_gz at /usr/bin/apt-mirror line 390.
?
錯誤原因很多。歸根結底都是源的寫法錯誤或者源錯誤。為了排除此錯誤浪費了我很長時間,最終發現居然是因為在window下復制的文本不能被識別。后來改用Linux系統后就好了。成功后,就會顯示如下的內容:
?
root@node8:/var/spool # apt-mirror
Downloading 140 index files using 30 threads...
Begin time: Wed Jul 21 21:27:52 2010
[30]... [29]... [28]... [27]... [26]... [25]... [24]... [23]... [22]... [21]... [20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Wed Jul 21 21:28:00 2010
Proceed indexes: [SSSSSPPPPP]
68.1 GiB will be downloaded into archive.
Downloading 85118 archive files using 30 threads...
Begin time: Wed Jul 21 21:28:16 2010
[30]... [29]... [28]...
?
這里的時間根據網絡狀況決定。從上面可以看到,一共要下載68G的內容。
完成后,最好將鏡像目錄的權限弄成755,以防客戶端下載中因為權限問題而失敗。
chmod -R 755 /ubuntu
4 修補源
下載完成后,客戶機如果要從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
5 客戶端安裝。
客戶端選擇從PXE啟動,PXE環境的配置不再詳述。
網絡配置完成后選擇手動選擇鏡像地址,并輸入服務器地址和服務器目錄(ubuntu)。
安裝完成后,修改/etc/apt/sources.list,將其它的外網源去掉。
至此,ubuntu PXE安裝已經配置成功了。
?
?
6 httpd錯誤解決
如果訪問http://yourip/ubuntu出現在permission denied。
則在/etc/httpd/conf/httpd.conf中相應選項增加或修改為下面的形式。
?
<Location /ubuntu>
??? Order allow,deny
??? Allow from all
</Location>
?
<Directory />
??? Options FollowSymLinks MultiViews
??? AllowOverride None
??? Order allow,deny
??? allow from all
</Directory>
參考:
http://forum.ubuntu.org.cn/viewtopic.php?t=41791
http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=144475
http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=53155
http://linux.net527.cn/Ubuntu/Ubuntuanzhuangyuyingyong/2644.html
?
總結
以上是生活随笔為你收集整理的Ubuntu 10.04 的源服务器和PXE安装环境搭建。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 官方回应小爱下线山东话等方言识别 :无需
- 下一篇: 荣耀Magicbook 14降价一千 入