Debian/Debian文件

来自站长百科
跳转至: 导航、​ 搜索

Debian | Debian安装 | Debian使用 | Debian系统升级 | Debian常见问题

目录结构[ ]

下列目录存在于任何 Debian 镜像站点的 debian 目录下:

  • dists/:

本目录包含“发行版”(distributions),此处是获得 Debian 发布版本(releases)和已发布版本(pre-releases)的软件包的正规途径。有些旧软件包及 Contens-*.gz Packages.gz 等文件仍在其中。

  • pool/:

所有 Debian 发布版及已发布版的软件包的新的物理地址。

  • tools/:

一些 DOS 下的小工具,用于创建启动盘、硬盘分区、压缩/解压缩和启动 Linux

  • doc/:

Debian 的基本文档,如 FAQ、错误报告系统使用说明等。

  • indices/:

维护人员文件和重载文件。

  • project/:

大部分为开发人员的资源,如:

  1. project/experimental/:

本目录包含了处于开发中的软件包和工具,它们均处于 alpha 测试阶段。用户不应使用这些软件,因为即使是经验丰富的用户也会被搞得一团糟。

  1. project/orphaned/:

已不再有人维护的软件包,它们已从发行版中孤立出来。

Debian 发行版[ ]

通常在 dists 目录下有三个 Debian 发行版。它们是“stable”发行版,“testing”发行版,和“unstable”发行版。有时还有一个“frozen”发行版(目前它仅仅是“testing”发行版的一个开发状态)。每个发行版均定义成一个符号链接指向该目录相应的代号目录。

stable 发行版[ ]

stable 发行版软件包入口,Debian Lenny (5.0) 被登记到 stable 目录(符号链接指向 Lenny 目录):

stable/main/:本目录包含的软件包均属于最新 Debian 系统官方发布版。

这些软件包均是“自由软件”--即遵循 Debian 自由软件准则(缩写为 DFSG,安装 debian-doc 之后,可以在 file:///usr/share/doc/debian/social-contract.txt 找到该文档)。

stable/non-free/:本目录包含不能依照 DFSG 来自由使用的软件包。

例如,有些软件包的许可证禁止其用于商业发行的。其它的可以再发行,但属于共享软件

stable/contrib/:本目录包含的软件包均遵循 DFSG 自由使用原则,但它们倚赖于不遵循 DFSG 自由使用原则的软件包。

目前,在以上提到的目录之外,实际的软件包都存储在 pool 目录中.

现阶段 stable 发行版错误报告位于 Stable Problems 页面。

testing 发行版[ ]

testing 发行版软件包入口,处于 unstable 版本的 Debian Squeeze 通过级别测试后登记到 testing 目录(符号链接指向 Squeeze 目录)。目前实际的软件包存储位置为 pool 目录。在 testing 下同样有 main、contrib 和 non-free 子目录,它们的作用与 stable 中的一样。

这些软件包必须在构建时在所有架构中保持同步,而且保证是可以安装的;相比 unstable 中的对应版本,它们应该有更少的影响发行的(RC)错误。我们希望按照这种方式 testing 能始终保持为一个发布的候选版本。有关 testing 版本的更多信息见于 http://www.debian.org/devel/testing

unstable 发行版[ ]

unstable 发行版软件包入口,sid 被登记到 unstable 目录(符号链接指向 sid),上载的软件包在被移至 testing 目录前一直呆在这儿。当前实际的软件包存储位置为 pool 目录。在 testing 下同样有 main、contrib 和 non-free 子目录,它们的作用与 stable 中的一样。

unstable 发行版反映了系统的最新开发进展。欢迎广大用户使用并测试这些软件包,同时也提醒你们这些软件包还不完善。使用 unstable 发行版的好处就是你可以获得 Debian 项目的最新更新.

unstable 发行版的最新错误报告见于 Unstable Problems 页面。

frozen 发行版[ ]

当 testing 发行版足够成熟了,它成为 frozen 发行版,表示这个版本不再加入新代码,只进行除错工作。同时,dists 目录中会建立新的 testing 发行版目录树,并命名新的版本代号。frozen 发行版再经过几个月的测试、更新、再冻结也称之为“循环测试”。

我们将 frozen 发行版中可能延迟软件包或整个版本发布的错误都记录在案,一但错误总数低于可接受的最大值,frozen 发行版就晋升成 stable,新版本发布了,先前发布的版本成为过期版(obsolete)(并被移于相应的目录)。

Debian 发布版代号[ ]

存在于dists目录下的物理目录名,例如Lenny和Squeeze,就是“版本代号(codenames)”。当某个Debian发行版处于开发阶段,它并没有版本号,取而代之的是版本代号。使用版本代号的目的在于简化建立Debian发行版镜像的工作(如果 unstable 是一个真实目录,它的名字突然改变成 stable,许多文件不得不再次进行没必要的下载)。

当前,stable 是一个指向 Lenny 的符号链接,testing 是指向 Squeeze 的符号链接。也就是说 Lenny 是当前的 stable 发行版,Squeeze 是当前的 testing 发行版。

unstable 发行版是指向 sid 的永久符号链接,即 unstable 发行版总称为 sid。

已用过的发布版代号[ ]

已使用过的发行版代号有: buzz for release 1.1, rex for release 1.2, bo for releases 1.3.x, hamm for release 2.0, slink for release 2.1, potato for release 2.2, woody for release 3.0,和 sarge for release 3.1。

pool目录[ ]

过去,软件包均放在 dists 目录下相应发行版的子目录中。这种做法产生了许多问题,当镜像站点进行新版本发布时大量带宽被消耗。

现在软件包均放进一个巨大的“池子(pool)”,按照源码包名称分类存放。为了方便管理,pool 目录下按属性再分类(main、contrib和non-free),分类下面再按源码包名称的首字母归档。这些目录包含的文件有:运行于各种系统架构的二进制软件包,生成这些二进制软件包的源码包。

你可以执行命令 apt-cache showsrc mypackagename,查看“Directory:”行获知每个软件包的存放位置。例如:apache 软件包存放在 pool/main/a/apache/ 软件包存放在 lib* 软件包数量巨大,它们以特殊的方式归档:例如,libpaper 软件包存放在 pool/main/libp/libpaper/。

诸如 apt 等命令访问的索引文件仍位于 dists 目录中。

通常,你大可不必注意这些,新版的 apt 和旧版 dpkg-ftp 会自动处理它们。

sid 诞生记[ ]

过去 sid 并不存在, Debian 文件组织有一个严重的缺点:假设在当前 unstable 发行版中创建了某个新的软件开发项目,当该发行版变成新的 stable 时,该软件开发项目将被发布。由于许多软件开发项目并不是这种情况,这样结果导致那些目录不得不在发布时移动。这是不切实际的,因为当移动目录时,大量带宽会被吞噬掉。

经过几年的研究摸索,文档管理员提出一个方案,将未获准发布的新软件开发项目的二进制文档存入名为 sid 的特定目录。当它们首次发布时,将会建立一个从当前 stable 指向 sid 的链接。并从那时起,它们就会像通常的软件开发项目一样,在 unstable 目录树中创建。这个方案用户听起来的确有些晕头。

有了软件包储藏池的帮助,在 woody 发行版开发过程中,二进制软件包均按一定规范存放于 pool 目录,而与发行版无直接关系,当发布新版本时,就不会再出现大量带宽被消耗的问题。(不过,大量带宽还是被开发进程消耗了)。

上载到 incoming 中的软件包[ ]

上载的软件包首先存放于 http://incoming.debian.org/ 经过检收,确定它们是由 Debian 开发者上载的(对于那些属于无维护者上载(Non-Maintainer Upload 缩写 NMU)的软件包则放入 DELAYED 子目录)。会有一天,它们将从 incoming 移入 unstable。

在紧急情况下,你可能会等不及它们移入 unstable 而直接从 incoming 中下载安装。

找回旧软件包[ ]

最新的 Debian 发行版存放在任何一个 Debian 镜像站点 的 debian 目录下。旧版本的 Debian 如 Slink 存放在 http://archive.debian.org/或 Debian 镜像站点的 debian-archive 目录下。

旧的 testing 和 unstable 软件包存放在 http://snapshot.debian.net/

发布源目录结构[ ]

在每个主目录树下(dists/stable/main、dists/stable/contrib、dists/stable/non-free、dists/unstable/main/,等)按芯片架构又分了子目录,每个子目录中存放着在该芯片架构下编译的二进制软件包。

  • binary-all/,存放与芯片架构无关的软件包,如 Perl 脚本、纯文档等。
  • binary-platform/,存放运行于该平台的二进制软件包。

请注意,发行版的二进制软件包不再存放在这些目录中,它们存放在上一级 pool 目录中。目录中仍保留有索引文件(Packages和Packages.gz)是为了向下兼容。

源代码[ ]

Debian 系统中的一切程序都有源代码,不仅如此,许可证条款规定系统中所有的程序必须和其源代码一起发行,或提供源代码出售。

通常源代码发布在 source 目录,该目录同时处于所有架构目录中,更新的源码则在 pool 目录中。对于不太熟悉 Debian 归档目录结构的用户想获得源代码可以试试 apt-get source mypackagename 命令。

有些软件包,如著名的pine,由于许可证限制,只提供源码包。

contrib 和 non-free 目录中的软件包可能不提供源代码,因为它们没有正式加入 Debian 系统。

Debian使用手册导航

Debian安装

安装Debian GNU/Linux前准备 | 获取系统安装介质 | 使用Debian安装程序 | 启动进入新 Debian 系统 | 内核及其它信息 | 为Debian准备分区 | 安装指南 | 在Debian上安装Apache+Mysql+PHP

Debian使用

Debian 文件 | Debian基本操作 | Midnight Commander (MC) | 类Unix工作环境 | 类Unix文本处理 | 类Unix文件系统 | Debian生存命令 | Debian进阶 | Debian其他特性 | Debian下的Linux内核 | 启动系统 | Debian/活动记录及拷贝、创建子目录 | 差量备份、数据同步与系统冻结恢复 |常用命令与典型错误| 系统初始化 | 访问限制(Restricting access) | 刻录机 | 本地化

Debian升级

Debian系统升级 | 发行版升级到stable、testing或unstable

Debian技术支持

Debian技术支持

Debian常见问题

定义与概述 | 兼容性问题 | Debian 的软件系统 | Debian 的 FTP | Debian 的包管理系统 |Debian 的包管理工具 |更新系统 | Debian 与内核 | 定制 Debian GNU/Linux 的安装 |获取 Debian GNU/Linux 的支持 | 为 Debian 项目捐赠 | 作为商品销售Debian以及对其的展望

参考来源[ ]

http://www.debian.org/doc/manuals/debian-reference/ch-system.zh-cn.html#s-ftparchives