搭建本地Ubuntu 鏡像服務器

一.需求分析
能不能在局域網搭建一個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

  1. deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverseubuntu

  2. deb http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse瀏覽器

  3. deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse服務器

  4. deb http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse工具

  5. deb http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiversepost

  6. deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse測試

  7. deb-src http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiversespa

  8. deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse線程

  9. deb-src http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse

  10. 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 服務器爲例子,來講明如何配置:
修改配置文件:

  1. root@ms ~: cat /etc/apt/mirror.list

  2. ############# config ##################

  3. #

  4. # set base_path /var/spool/apt-mirror

  5. #

  6. # set mirror_path $base_path/mirror

  7. # set skel_path $base_path/skel

  8. # set var_path $base_path/var

  9. # set cleanscript $var_path/clean.sh

  10. # set defaultarch <running host architecture>

  11. # set postmirror_script $var_path/postmirror.sh

  12. set run_postmirror 0

  13. set nthreads 20

  14. set _tilde 0

  15. #

  16. ############# end config ##############

  17. deb-i386 http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse

  18. deb-i386 http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse

  19. deb-i386 http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse

  20. #deb http://mirrors.sohu.comubuntu jaunty-proposed main restricted universe multiverse

  21. #deb http://mirrors.sohu.comubuntu jaunty-backports main restricted universe multiverse

  22. deb-src http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse

  23. deb-src http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse

  24. deb-src http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse

  25. #deb-src http://mirrors.sohu.com/ubuntu jaunty-proposed main restricted universe multiverse

  26. #deb-src http://mirrors.sohu.com/ubuntu jaunty-backports main restricted universe multiverse

  27. #clean http://archive.ubuntu.com/ubuntu



備註:


  1. deb-i386 http:// 表示下載32 bit 版本的deb 軟件

  2. deb http:// 表示下載64bit 版本的deb 軟件

  3. 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/,因此能夠在該目錄下作
個連接,以下所示:

  1. root@ms ~: cd /var/www

  2. 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進行天天的更新,修改配置文件:


  1. root@ms ~: cat /etc/cron.d/apt-mirror

  2. #

  3. # Regular cron jobs for the apt-mirror package

  4. #

  5. #0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log



把命令前面的「#」去掉便可,這樣系統會自動使用apt-mirror去和sohu服務器更新。
最後,咱們所要作得就是在客戶端的機器上修改更新源配置文件,將地址改爲本地
mirror服務器的地址便可,以下所示:


  1. root@ms ~: cat /etc/apt/sources.list

  2. deb http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse

  3. deb http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse

  4. deb http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse

  5. deb http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse

  6. deb http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse

  7. deb-src http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse

  8. deb-src http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse

  9. deb-src http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse

  10. deb-src http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse

  11. deb-src http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse



執行「apt-get update」來重建本地索引,這樣之後就會使用本地的Mirror 服務器進行更新。

相關文章
相關標籤/搜索