zoukankan      html  css  js  c++  java
  • [Ubuntu]在Ubuntu下搭建自己的源服务器

    1、摘要
        网上有很很多关于搭建源镜像的文章,但是对于一般人来讲,用不着镜像所有的deb包,只对我们能用到的感兴趣。另外,对于一些在Ubuntu的源中没有的软件,我们也可以放在我们自己的源里,这样需要的时候就用不着去网上重新搜了。
     
    2、源服务器目录结构
     
    dists
    +------Lucid
    |      +---------main
    |      |         +------------binary-i386
    |      |         |            +--------------xxx.deb
    |      |         |            +--------------xxx.deb
    |      |         |            +--------------……
    |      |         |            +--------------Packages.gz
    |      |         +------------其它体系结构
    |      +---------restricted
    |      |         +------------binary-i386
    |      |         +------------其它体系结构
    |      +---------universe
    |      +---------multiverse
    +------Maverick
    +------Natty
     
    dists目录下包含各种ubuntu发布版本名称:Lucid(10.04)、Maverick(10.10)等等;
    版本名称(Lucid)目录下包含4种软件包类别:
        main : 官方支持的软件包
        restricted :受限(许可证)支持软件包
        universe :社区支持软件包,非官方支持软件包
        multiverse :收费软件包
    包类别(main)目录下包含各种体系结构:binary-i386等等
    体系结构(binary-i386)目录下包含软件包deb文件,并且第一个体系结构目录下都有一个Packages.gz文件。
     
    3、source.list文件
    deb http://us.archive.ubuntu.com/ubuntu/ hardy main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ hardy main restricted
    以上两行为source.list文件的一部分,其含义如下:
        ubuntu中根据deb包中所包含的内容将其分为两种,一种是包含已编译的二进制可执行文件或预编译的deb包,另一种是包含软件源码的deb包。在source.list文件中用deb和deb-src区分这种包;
        http://us.archive.ubuntu.com/ubuntu/表示deb包所在的服务器目录;
        hardy表示ubuntu的发布版本号;
        main restricted表软件包的类别。
     
    以X86主机为例,deb http://us.archive.ubuntu.com/ubuntu hardy main restricted表示包含服务器端如下两目录中的deb文件。
     
    当执行apt-get update命令时,会读http://us.archive.ubuntu.com/ubuntu/dists/hardy/main/binary-i386/Packages.gz中以及其它目录中Packages.gz中的deb文件列表。
     
    当执行apt-get install xxx时,会根据apt-get update得到的deb文件列表获取相应的deb文件。
     
    由以上过程可知,搭建源服务器最关键的步骤是生成Packages.gz文件,由dpkg-scanpackages命令完成。举例,如需要给dists/hardy/main/binary-i386目录生成Packages.gz,命令如下:
    cd dists/../     # 进入dists的父目录
    dpkg-scanpackages dists/hardy/main/binary-i386 | gzip -9 > dists/hardy/main/binary-i386/Packages.gz
    4、服务器搭建
    安装完Apache后,将dists目录拷贝到Apache服务器根目录的ubuntu目录下,或者创建符号链接。
     
    5、其它
    查看一个dpkg-scanpackages命令属于哪个软件包:
    apt-file search dpkg-scanpackages | grep bin
     
    6、参考链接
     
     
     
    转载自:http://blog.chinaunix.net/uid-24874146-id-2556553.html
  • 相关阅读:
    HTTP客户端
    获取IP地址和域名
    SQL语句、PL/SQL块和SQL*Plus命令之间的区别
    oracle中的游标
    oracle表问题
    精简版web浏览器
    oracle的存储过程
    数据库中的视图
    第一次作业
    折半查找
  • 原文地址:https://www.cnblogs.com/libao/p/5219364.html
Copyright © 2011-2022 走看看