|
. Debian的FTP
--------------------------------------------------------------------------------
5.1 Debian的FTP上有哪些目录
可以从Debian镜像站点的目录树下获取打包的软件.
dists 目录包含“发行版”(distributions),此处是获得Debian发布版本(releases)和已发布版本(pre-releases)的软件包的正规途径。有些旧软件包及packages.gz文件仍在其中。
pool目录软件包的新的物理地址。详见5.11 pool目录下有什么?
还有一些目录:
/tools/:
用于创建启动盘,磁盘分区,压缩/解压文件,启动Linux的DOS下的小工具.
/doc/:
基本的Debian文档,如FAQ,错误报道系统指导等.
/indices/:
维护人员文件和重载文件
/project/:
大部分为开发人员的资源,如:
/project/experimental/:
本目录包含了处于开发中的软件包和工具,它们均处于alpha测试阶段。用户不应使用这些软件,因为即使是经验丰富的用户也会被搞得一团糟。
/project/orphaned/:
已不再有人维护的软件包,它们已从发行版中孤立出来。
--------------------------------------------------------------------------------
5.2 在dists目录有哪些版本
通常有三个Debian发行版,它们是“stable”发行版,“testing”发行版,和“unstable”发行版.有时还有一个“frozen”发行版,详见5.4frozen是什么
--------------------------------------------------------------------------------
5.3 象slink,potato,等等 是什么意思
它们只是一些版本代号(codenames).处于开发阶段的发行版只有版本代号,没有版本号,使用版本代号的目的在于简化建立Debian发行版镜像的工作(如果真实目录例如unstable突然改名为stable,许多文件都没必要再次下载)。
当前,stable是一个指向Woody(即Debian GNU/Linux 3.0)的符号链接,testing是指向Sarge的符号链接。也就是说Woody是当前的stable发行版,Sarge是当前的testing发行版。
unstable发行版是指向sid的永久符号链接,即unstable发行版总称为sid。
--------------------------------------------------------------------------------
·5.3.1 以前用过哪些代码名
已使用过的发行版代号有: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。
--------------------------------------------------------------------------------
·5.3.2 它们源自哪里
到目前为止它们均出自Pixar的电影“玩具总动员(Toy Story)”
·Buzz(Buzz Lightyear)是个宇航员,
·Rex是只暴龙,
·Bo(Bo Peep)是个放羊的女孩,
·Hamm是个小猪攒钱罐,
·Slink(Slinky Dog)是只玩具狗,
·Sarge是位绿色塑料玩具士兵首领,
·Potato当然就是Potato Head先生,
·Woody是个牛仔,
·Sid是隔壁的男孩,那个玩具终结者。
--------------------------------------------------------------------------------
5.4 frozen是什么
当testing发行版足够成熟了,它就会被冻结(freezing),通常不再作宣传,确保尽可能少的新unstablebug进入testing
一段时间以后这个testing发行版就成为真正的frozen了,表示这个版本不再加入新代码,只进行除错工作.frozen发行版再经过几个月的测试、更新、再冻结也称之为“循环测试”
我们将frozen发行版中可能延迟软件包或整个版本发布的错误都记录在案,一但错误总数低于可接受的最大值,frozen发行版就晋升成stable,
新版本发布了,先前发布的版本成为过期版(obsolete)详见Debian archive.
--------------------------------------------------------------------------------
5.5 sid是什么
sid或unstale是大多数软件最初上载的地方,这些软件首先要进入testing,然后在stable里发行.sid里的软件可能被发行,也可能不被发行.
sid来自于电影“玩具总动员(Toy Story)”里的动画形象: Sid是隔壁的男孩,那个玩具终结者.
--------------------------------------------------------------------------------
5.5.1 sid的历史
过去sid并不存在,FTP站点结构有个缺点:假设当前unstable发行版中创建了某个软件开发项目,当unstable成为新的stable版之时,便是它的发布之日。由于软件包一但发布就需要移动到新的stable目录,当众多软件开发项目移动目录时大量带宽会被吞噬掉,这个流程就显得很不切实际,因而许多软件开发项目并没有按这个方法行事。
经过几年的研究摸索,文档管理员提出一个方案,将未获准发布的二进制文档存入名为sid的特定目录。由于这些软件尚未发布,从那时起,它们就被加入到unstable目录树。当它们首次发布时,将会建立一个从当前stable指向sid的链接。这个方案用户听起来的确有些晕头。
有了软件包储藏池(pool)(详见5.11pool目录下是什么? ),二进制软件包均按一定规范存放于pool目录,而与发行版无直接关系,当发布新版本时,就不会再出现大量带宽被消耗的问题。(不过,大量带宽还是被开发进程消耗了)。
--------------------------------------------------------------------------------
5.6 stable目录的内容
·stable/main/:本目录包含的软件包均是最新Debian系统发布版的正式组成部分。
这些软件包均遵循“Debian自由软件包指导”(Debian Free Software Guidelines),它们均可以自由使用和再发行。
·stable/non-free/:本目录包含的软件包受到一定限制,发行者需遵循特殊版权要求。
例如,有些软件包的许可证禁止其用于商业发行的。有些虽可以再发行,但本身是共享软件而非自由软件。以任何方式再发行这些软件包时(例如写入光盘)必须认真阅读有关的许可证或与所有者协商。
·stable/contrib/:本目录包含的软件包均遵循DFSG-free原则,本身也是自由发布的,但这些软件包的关联包不具有自由发行的属性,它们位于non-free目录。
--------------------------------------------------------------------------------
5.7 testing目录的内容
处于unstable版本的Debian Sarge通过级别测试后登记到testing目录,这些软件包必须可同时运行于所有架构,并且没有关联性问题影响到其卸载.比起在unstable中的相应版本,它们有更少的release-critical错误。我们将testing作为更佳发布候选版本。
有关testing版本的更多信息见于http://ftp-master.debian.org/testing/。
--------------------------------------------------------------------------------
5.8 unstable目录的内容
unstable发行版反映了系统的最新开发进展。欢迎广大用户使用并测试这些软件包,同时也提醒你们这些软件包还不完善。使用unstable发行版的好处就是你可以获得Debian项目的最新更新——不过新东西也会出新问题,你得好坏兼收:-)
在testing下同样有main,contrib和non-free子目录,它们的作用与stable中的一样。
--------------------------------------------------------------------------------
5.9 dists/stable/main的内容
在每个主目录树下(dists/stable/main,dists/stable/contrib,dists/stable/non-free,dists/unstable/main/,等)按芯片架构又分了子目录,每个子目录中存放着在该芯片架构下编译的二进制软件包。
·binary-all/,存放与芯片架构无关的软件包,如Perl脚本、纯文档等。
·binary-i386/,存放运行于80x86 PC 平台的软件包。
·binary-m68k/,存放基于于Motorola 680x0 处理器的软件包。主要面向 Atari , Amiga,以及部分VME 计算机
·binary-sparc/,存放运行于Sun SPARCStations平台的软件包。
·binary-alpha/,存放运行于DEC Alpha 平台的软件包。
·binary-powerpc/,存放运行于 PowerPC平台的软件包。
·binary-arm/,存放运行于 ARM平台的软件包。
请注意,woody及后续版本的二进制软件包实际并没存放在这些目录中,它们存放在上一级pool目录中。目录中仍保留有索引文件(Packages和Packages.gz)是为了向下兼容。
详见3.1可以在什么样的硬件上运行
--------------------------------------------------------------------------------
5.10 在哪里可以获取源代码?
Debian系统中的一切程序都有源代码,不仅如此,许可证条款规定系统中所有的程序必须和其源代码一起发行,或向商家索取源代码。
通常源代码存放在source目录,同时处于多个架构目录(详见5.11pool目录下是什么? )用户不必非常熟悉FTP目录结构,想获得源代码可以试试apt-get source mypackagename命令。
有些软件包,如著名的pine,由于许可证限制,只提供源码包。例如pine详见4.10如何得到pine
contrib和non-free目录中的软件包可能不提供源代码,因为它们没有正式加入Debian系统。
--------------------------------------------------------------------------------
5.11 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目录中,直到本文写作之时,旧发行版的软件包还没转到pool目录,所以你将看到路径的“Filename”域中包含有发行版名称如potato或woody。
通常,你大可不必注意这些,apt和dpkg-ftp(或许)会自动处理这累事情。
--------------------------------------------------------------------------------
5.12 什么是"incoming"
上载的软件包在检查它的真实性和容许进入FTP以前首先存放于incoming目录。
通常没有人需要从这个目录安装软件。然而,在某些在紧急情况下,你可以直接从incoming目录(http://incoming.debian.org/) ... PG签名,.changes 和 .dsc 文件中的校检码MD5sums,然后安装。
注:
部分翻译参照LYOO兄的Debian参考手册
-------------------------
The Debian GNU/Linux FAQ
version CVS, 14 February 2003
Authors, Section 15.1
中文翻译: eTony e-an@sohu.com
2003.04.16
2003.05.09校对 |
|