Ubuntu 源简介

1.1 Ubuntu发行版本代号

        版本         发布日期                代号                 含义
      12.04 LTS   2012年4月发布         Precise Pangolin       精确的穿山甲
      14.04 LTS   2014年4月发布         Trusty Tahr            可靠的山羊

1.2 Ubuntu源文件

    $ cat /etc/apt/sources.list
    deb http://mirrors.corp.test.com/ubuntu/ precise main restricted universe multiverse
    deb http://mirrors.corp.test.com/ubuntu/ precise-updates main restricted universe multiverse
    deb http://mirrors.corp.test.com/ubuntu/ precise-security main restricted universe multiverse
    deb http://mirrors.corp.test.com/ubuntu/ precise-proposed main restricted universe multiverse
    deb http://mirrors.corp.test.com/ubuntu/ precise-backports main restricted universe multiverse

1.2.1 源文件各部分含义

    1.deb,deb-src分别表示软件包,源代码包
    2.precise 表示当前ubuntu对应的发型版本
    3.security,backports[补丁],updates[更新],proposed[推荐的,提议的]等代表dists[存储位置]的子目录,用以区分各种类型的软件包和源代码包
    apt-get update用于同步索引,apt-get upgrate用于安装新文件
    4.main,restricted,universe,multiverse为该版本的软件包,每一类中有多种类型软件包。

1.3 Ubuntu源目录结构

  • dists/ 发行版,便于理解[各个版本]

  • indices/ 维护人员文件和重载文件

  • pool/ 软件包的新的物理地址

  • project/ 大部分为开发人员的资源

1.3.1 目录结构介绍

  • dists/ 发行版,便于理解[各个版本]

dists目录说明了ubuntu各个版本的5个附加仓库,每个附加仓库表示该版本软件包的 一种类型,每种类型有四种来源的安装包:

    precise/

    precise-backports/

    precise-proposed/

    precise-security/

    precise-updates/

发行版软件包的每种类型都对应一个如下内容的目录:

    Contents-amd64.gz
    Contents-i386.gz
    main/
    multiverse/ 
    Release
    Release.gpg
    restricted/
    universe/

在sources.list中设置到main,mulitiverse这一层即可,其中每个该种目录对应文件如下:

        .
        ├── binary-amd64
        │   ├── Packages
        │   ├── Packages.bz2
        │   ├── Packages.gz
        │   └── Release
        ├── binary-i386
        │   ├── Packages
        │   ├── Packages.bz2
        │   ├── Packages.gz
        │   └── Release
        └── debian-installer
            ├── binary-amd64
              │   ├── Packages
              │   ├── Packages.bz2
              │   └── Packages.gz
              └── binary-i386
               ├── Packages
               ├── Packages.bz2
               └── Packages.gz

在每一个体系中都有一个安装包目录和源代码包目录,其中内容为一个压缩文件,该文件描述了这种类型体系结构的所有安装包的详细信息,包括在/pool目录下的存储位置等等,十分详细,格式如下:

Package: umbrello-kde4 

Priority: optionalls 

Section: devel 

Installed-Size: 4468 

Maintainer: Ubuntu MOTU Developers 

Original-Maintainer: Debian Qt/KDE Maintainers 

Architecture: i386 

Source: kdesdk-kde4 

Version: 4:4.0.5-0ubuntu1~hardy1 

Depends: kde-icons-oxygen, kdebase-runtime, kdebase-runtime-data, kdelibs5 (>= 4:4.0.5-0ubuntu1~hardy2), libc6 (>= 2.4), libqt4-core (>= 4.3.4), libqt4-gui (>= 4.3.4), libqt4-qt3support (>= 4.3.4), libstdc++6 (>= 4.1.1-21), libxml2 (>= 2.6.27), libxslt1.1 (>= 1.1.20) 

Suggests: khelpcenter-kde4 

Filename: pool/main/k/kdesdk-kde4/umbrello-kde4_4.0.5-0ubuntu1~hardy1_i386.deb 

Size: 1782804 

MD5sum: f751b63e2c42e3abc0bc714f228cc966 SHA1: 728b30a325f44a8da9e5b53792f475a3f98da048 SHA256: 1e3b0e324a3188ee6605c6d138ecd22d45b15516aabb35d69f17ad27c4e5d6db 

Description: UML modelling tool and code generator for KDE 4 Umbrello UML Modeller is a Unified Modelling Language editor for KDE 4. It can create diagrams of software and other systems in the industry-standard UML format, and can also generate code from UML diagrams in a variety of programming languages. 
. 
 This package is part of KDE4, and a component of the kdesdk-kde4 module. 
 See the 'kde4' and 'kdesdk-kde4' packages for more information. 

Bugs: https://bugs.launchpad.net/ubuntu/+filebug 

Origin: Ubuntu
  • pool/ 软件包的新的物理地址

pool目录用于实际存储所有新的软件包,索引通过dists分类目录索引,其下内容为:

    main/

    multiverse/

    restricted/

    universe/

各项定义如下:

- main/:“main”组件包括了自由软件、可以被自由发布的软件和被Ubuntu团队完全支持的软件。其中包括了大多数流行的和稳定的开源软件,当您安装Ubuntu时默认安装的就是这些软件。

- restricted/:“restricted”组件是专供普遍用途,而且没有自由软件版权,但依然被Ubuntu团队支持的软件。请注意,因为不能直接修改软件,因而我们可能不能提供完全的技术支持,即便如此,我们还能向实际作者反馈Bug报告。

- universe/:“universe”组件是整个自由、开源Linux世界的缩影。在“universe”组件中,你可以找到大多数开源软件,以及在开源版权下的软件,所有这些都是在公共源的基础上建立的。这些软件都是使用“main”中的组件编写的,它们能与“main”组件相安无事地共同运行,但它们没有安全升级的保障。“universe”组件包含了数以千计的软件。虽然是公共的,用户必须明白它们与稳定的Ubuntu核心的软件的差异和不稳定。

- multiverse/:multiverse”组件包含了“不自由”的软件,这意味着这些软件不满足 Ubuntu相对于“main”组件的各种版权政策。当您使用这些软件时,如何调整各种权力以及遵重版权所有者的问题,就完全依靠您自己把握了。这些软件不被我们支持,而且通常不能被修改和更新,您将自己承担任何风险
  • indices/ 维护人员文件和重载文件

          indices(index复数)表示索引目录
    
  • project/ 大部分为开发人员的资源