Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21288
  • 博文数量: 6
  • 博客积分: 153
  • 博客等级: 入伍新兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-17 11:31
文章分类

全部博文(6)

文章存档

2013年(2)

2011年(4)

我的朋友

分类: LINUX

2011-01-28 11:31:24

作为一个系统管理员,在建设本地网络时,由于本地网络没有连接到互联网络,当需要给本地的一些服务器和客户端安装Ubuntu系统或者软件时,就无法使用apt-get这个方便的工具来进行安装更新。为了解决这个问题,可以在本地网络搭建一个镜像源服务器,它的作用就像互联网中的镜像源一样,便于内部那些不能连接到互联网络的服务器或客户端使用apt-get来安装更新系统。
a.从互联网上已有的镜像站点下载制作包镜像源所需的所有包文件
根据选择的镜像源站点和网速的不同,下载所有这些包是个比较耗时的过程。我下载了Ubuntu10.10代号为maverick的所有32bit和64bit的二进制安装包但不包括源文件,就耗时40多个小时,所有包的文件大约有36.3G。
首先,找一台能够连接到互联网络,并且安装了
Ubuntu10.10的计算机,安装apt-mirror软件。命令如下,
  1. apt-get install apt-mirror
然后,配置apt-mirror软件的配置文件/etc/apt/mirror.list。(我的包文件的存储路径是/media/DISK1_VOL4/var/spool/apt-mirror,其中,/media/DISK1_VOL4是我挂载的一个足够大windows分区,然后建立/var/spool/apt-mirror这样的目录,最后再在这个目录下分别建立配置文件中所需的目录:mirror,skel,var。)
  1. sudo gedit /etc/apt/mirror.list
以下引用我的配置文件/etc/apt/mirror.list
  1. ############# config ##################
  2. #
  3. set base_path /media/DISK1_VOL4/var/spool/apt-mirror
  4. #
  5. set mirror_path $base_path/mirror
  6. set skel_path $base_path/skel
  7. set var_path $base_path/var
  8. set cleanscript $var_path/clean.sh
  9. # set defaultarch <running host architecture>
  10. # set postmirror_script $var_path/postmirror.sh
  11. # set run_postmirror 0
  12. set nthreads 20
  13. set _tilde 0
  14. #
  15. ############# end config ##############
  16. #这里选择了archive.ubuntu.com/ubuntu这样一个镜像源站点进行下载,你可以直接在浏览器里键入该地址访问该源,选择适合自己的Ubuntu版本进行下载,这里选择下载了代号为:maverick的所有二进制安装包,不包括源代码包。
  17. deb http://archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
  18. deb http://archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
  19. deb http://archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse

  20. #deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
  21. #deb http://archive.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
  22. #deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
  23. #deb http://archive.ubuntu.com/ubuntu lucid-proposed main restricted universe multiverse
  24. #deb http://archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse

  25. #deb-src http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
  26. #deb-src http://archive.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
  27. #deb-src http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
  28. #deb-src http://archive.ubuntu.com/ubuntu lucid-proposed main restricted universe multiverse
  29. #deb-src http://archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse

  30. clean http://archive.ubuntu.com/ubuntu
接着,执行镜像命令,开始下载包文件到指定的目录下。(如果时间太长需要关机或者出现断开、不响应等现象,可以按Ctrl+C结束镜像过程,然后重新运行镜像命令,将会接着继续下载,直到提示完成为止。如果在完成镜像后,日后需要更新这些包镜像文件,只需要再次运行镜像命令,原来的下载好的也不需要重新下载了。)
  1. sudo apt-mirror
最后,我们就得到了一个存储在/media/DISK1_VOL4下的文件目录:var,这里包括了所有最终我们在制作本地镜像源所需要的文件目录及文件。使用移动硬盘将它拷贝到我们准备用作镜像源的服务器上。

b.在本地网络中,发布这个镜像源
首先,确定提供镜像源服务的机器,并在该ubuntu服务器上安装apache2,命令如下,

  1. apt-get install apache2
然后,在apache2默认的发布目录里建立一个指向镜像包的链接。(假设:var目录存储在/media/mirror目录下,那么注意一定要给mirror目录至少750的权限,这个可以根据自己具体的实际情况去做,目的是让其他用户有权访问这个目录及其子目录的文件 。)

  1. sudo ln -s /media/mirror/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/ubuntu
这样,在apache2默认的发布目录/var/www中就建立了一个ubuntu的链接,指向了目录/media/mirror/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu

最后,如果apache2工作正常,目录访问权限没有问题,那么最终我们发布好的镜像源就可以通过以下网址访问:或者http://镜像源服务器IP或者域名/ubuntu。(如果在本机和本地网络的其他客户端通过浏览器访问能够看到目录,并且能够访问和下载就说明这个镜像源发布完成了。)

c.在客户端使用本地镜像源安装更新软件
现在就是享用我们自己本地的镜像源的时候了,这个很容易做到,只要在客户机上设置好本地更新源后就可以方便的使用apt-get软件来高速的更新和安装软件了。
首先,通过修改/etc/apt/sources.list文件并添加我们自己的本地镜像源地址。(注意一定要把其他的更新源用#号注释掉)具体的文件引用如下,

  1. # deb cdrom:[Ubuntu 10.10 _Maverick Meerkat_ - Release i386 (20101007)]/ maverick main restricted
  2. # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
  3. # newer versions of the distribution.

  4. #deb http://us.archive.ubuntu.com/ubuntu/ maverick main restricted
  5. #deb-src http://us.archive.ubuntu.com/ubuntu/ maverick main restricted
  6. deb http://127.0.0.1:80/ubuntu/ maverick main restricted

  7. ## Major bug fix updates produced after the final release of the
  8. ## distribution.
  9. #deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates main restricted
  10. #deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates main restricted
  11. deb http://127.0.0.1:80/ubuntu/ maverick-updates main restricted

  12. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
  13. ## team. Also, please note that software in universe WILL NOT receive any
  14. ## review or updates from the Ubuntu security team.
  15. #deb http://us.archive.ubuntu.com/ubuntu/ maverick universe
  16. #deb-src http://us.archive.ubuntu.com/ubuntu/ maverick universe
  17. #deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
  18. #deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
  19. deb http://127.0.0.1:80/ubuntu/ maverick universe
  20. deb http://127.0.0.1:80/ubuntu/ maverick-updates universe

  21. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
  22. ## team, and may not be under a free licence. Please satisfy yourself as to
  23. ## your rights to use the software. Also, please note that software in
  24. ## multiverse WILL NOT receive any review or updates from the Ubuntu
  25. ## security team.
  26. #deb http://us.archive.ubuntu.com/ubuntu/ maverick multiverse
  27. #deb-src http://us.archive.ubuntu.com/ubuntu/ maverick multiverse
  28. #deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
  29. #deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
  30. deb http://127.0.0.1:80/ubuntu/ maverick multiverse
  31. deb http://127.0.0.1:80/ubuntu/ maverick-updates multiverse

  32. ## Uncomment the following two lines to add software from the 'backports'
  33. ## repository.
  34. ## N.B. software from this repository may not have been tested as
  35. ## extensively as that contained in the main release, although it includes
  36. ## newer versions of some applications which may provide useful features.
  37. ## Also, please note that software in backports WILL NOT receive any review
  38. ## or updates from the Ubuntu security team.
  39. # deb http://us.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
  40. # deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse

  41. ## Uncomment the following two lines to add software from Canonical's
  42. ## 'partner' repository.
  43. ## This software is not part of Ubuntu, but is offered by Canonical and the
  44. ## respective vendors as a service to Ubuntu users.
  45. # deb http://archive.canonical.com/ubuntu maverick partner
  46. # deb-src http://archive.canonical.com/ubuntu maverick partner

  47. ## This software is not part of Ubuntu, but is offered by third-party
  48. ## developers who want to ship their latest software.
  49. #deb http://extras.ubuntu.com/ubuntu maverick main
  50. #deb-src http://extras.ubuntu.com/ubuntu maverick main

  51. #deb http://security.ubuntu.com/ubuntu maverick-security main restricted
  52. #deb-src http://security.ubuntu.com/ubuntu maverick-security main restricted
  53. #deb http://security.ubuntu.com/ubuntu maverick-security universe
  54. #deb-src http://security.ubuntu.com/ubuntu maverick-security universe
  55. #deb http://security.ubuntu.com/ubuntu maverick-security multiverse
  56. #deb-src http://security.ubuntu.com/ubuntu maverick-security multiverse
  57. deb http://127.0.0.1:80/ubuntu/ maverick-security main restricted
  58. deb http://127.0.0.1:80/ubuntu/ maverick-security universe
  59. deb http://127.0.0.1:80/ubuntu/ maverick-security multiverse
然后,更新本地源,命令如下:
  1. sudo apt-get update

  2. ;这个命令可以升级系统
  3. sudo apt-get upgrade
    最后,就可以方便的在本地网络不连接互联网的情况下,利用本地镜像源服务安装更新软件了。

    d.在本地网络中,没有互联网连接的情况下,我们仍然可以使用本地镜像源服务来安装最新的Ubuntu10.10系统。
    首先,放入Ubuntu10.10的alternate版或server版的安装光盘,然后按F6,选择Expert(专家模式),逐步安装,直到需要自定义更新源时,选择“http”,接着输入本地镜像源的地址:
    或者http://镜像源服务器IP或者域名/ubuntu,继续安装,最后就可以享受本地高速的更新下载安装包的安装过程了
    阅读(3767) | 评论(1) | 转发(0) |
    给主人留下些什么吧!~~

    tieganlike2011-08-11 20:22:13

    有点汗颜,今天在64位服务器上安装部署amd64版本的ubuntu-10.10-alternate-amd64时,F6,选专家模式,在进行到配置本地镜像源服务器地址时,仍然使用了用以上方法添加的那个本地镜像服务器的方法,发现问题,提示:不支持的包结构。就此问题,特此补充如下:
    1、我在互联网上下载包时,使用的是一台装了ubuntu10.10-i386的机器,也就是装了32位系统的普通pc。问题就出在这里,使用以上方法,如果在/etc/apt/mirror.list里不特别说明deb http://...,那么下载的所有包就默认和该机器架构一致,在这里就是只下载了32位系统所需要的包,而没有下载64位系统的。
    2、修改如下:deb-i386 http://...指下载32位系统的包。deb-amd64