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/
大部分为开发人员的资源