目录
在本章中,您将找到 Debian 邮件列表、Debian 服务器(开发者可以访问)以及所有其他可用资源的简要路线图,这些资源可以帮助您进行维护工作。
Debian 开发者(和用户)之间的大部分对话都是通过我们在 lists.debian.org
托管的各种邮件列表进行的。要了解更多关于如何订阅或取消订阅、如何发帖以及如何不发帖、在哪里找到旧帖子以及如何搜索它们、如何联系列表维护者以及查看关于邮件列表的各种其他信息,请阅读 http://www.debian.org/MailingLists/。本节仅涵盖开发者特别感兴趣的邮件列表方面。
当回复邮件列表上的消息时,请不要抄送(CC
)给原始发帖人,除非他们明确要求被抄送。任何向邮件列表发帖的人都应该阅读列表以查看回复。
不鼓励交叉发帖(将同一条消息发送到多个列表)。与在网络上一样,请缩减您回复的文章的引用。总的来说,请遵守发布消息的常用约定。
请阅读 行为准则 以获取更多信息。Debian 社区指南 也值得一读。
开发者应该使用的核心 Debian 邮件列表有
<debian-devel-announce@lists.debian.org>
,用于向开发者宣布重要事项。所有开发者都应订阅此列表。
<debian-devel@lists.debian.org>
,用于讨论各种开发相关的技术问题。
<debian-policy@lists.debian.org>
,Debian 策略在此处讨论和投票。
<debian-project@lists.debian.org>
,用于讨论与项目相关的各种非技术问题。
还有其他邮件列表可用于各种特殊主题;请参阅 http://lists.debian.org/ 获取列表。
<debian-private@lists.debian.org>
是一个特殊的邮件列表,用于 Debian 开发者之间的私下讨论。它旨在用于因任何原因不应公开的文章。因此,这是一个低流量列表,并敦促用户不要使用 <debian-private@lists.debian.org>
,除非确实有必要。此外,不要 将该列表中的电子邮件转发给任何人。由于显而易见的原因,此列表的存档在网络上不可用,但您可以使用您在 master.debian.org
上的 shell 帐户查看它们,并在 ~debian/archive/debian-private/
目录中查找。
<debian-email@lists.debian.org>
是一个特殊的邮件列表,用作 Debian 相关通信的收集箱,例如联系上游作者了解许可证、错误等,或与他人讨论项目,在这些情况下,将讨论存档在某处可能很有用。
有几个 IRC 频道专门用于 Debian 的开发。它们主要托管在 开放和自由技术社区 (OFTC) 网络上。irc.debian.org
DNS 条目是 irc.oftc.net
的别名。
Debian 的主要频道通常是 #debian
。这是一个大型通用频道,用户可以在主题中找到最近的新闻,并由机器人提供服务。#debian
面向讲英语的人;还有 #debian.de
、#debian-fr
、#debian-br
和其他类似命名的频道,供其他语言的使用者使用。
Debian 开发的主要频道是 #debian-devel
。这是一个非常活跃的频道;通常在任何时间都会至少有 150 人。它是为 Debian 工作的人们准备的频道,而不是支持频道(支持频道是 #debian
)。但是,它对任何想要潜水(和学习)的人开放。它的主题通常充满了对开发者有趣的信息。
由于 #debian-devel
是一个开放频道,因此您不应在此处谈论在 <debian-private@lists.debian.org>
中讨论的问题。还有一个频道用于此目的,它被称为 #debian-private
,并且受密钥保护。此密钥可在 master.debian.org:~debian/misc/irc-password
中找到。
还有其他额外的频道专门用于特定主题。#debian-bugs
用于协调错误修复聚会。#debian-boot
用于协调 debian-installer 的工作。#debian-doc
有时用于讨论文档,例如您正在阅读的文档。其他频道专门用于架构或一组软件包:#debian-kde
、#debian-dpkg
、#debian-jr
、#debian-edu
、#debian-oo
(OpenOffice.org 软件包)...
也存在一些非英语开发者的频道,例如 #debian-devel-fr
,面向对 Debian 开发感兴趣的法语使用者。
在其他 IRC 网络上也存在专门用于 Debian 的频道,特别是在 freenode IRC 网络上,该网络在 2006 年 6 月 4 日之前由 irc.debian.org
别名指向。
要在 freenode 上获得 cloak,您可以向 Jörg Jaspert <joerg@debian.org> 发送一封签名邮件,告诉他您的昵称是什么。在主题标头中放入 cloak。昵称应已注册:昵称设置页面。邮件需要由 Debian 密钥环中的密钥签名。有关 cloak 的更多信息,请参阅 Freenode 文档。
本文档包含许多对 Debian 开发者有用的信息,但它不可能包含所有内容。大多数其他有趣的文档都链接自 开发者专区。花时间浏览所有链接,您将学到更多知识。
Debian 有多台计算机作为服务器工作,其中大多数在 Debian 项目中发挥着关键作用。大多数机器用于移植活动,并且它们都具有与 Internet 的永久连接。
有些机器可供个人开发者使用,只要开发者遵守 Debian 机器使用策略 中规定的规则。
一般来说,您可以根据自己的意愿将这些机器用于 Debian 相关目的。请善待系统管理员,并且不要在未事先获得系统管理员批准的情况下占用大量磁盘空间、网络带宽或 CPU。通常,这些机器由志愿者运行。
请注意保护您的 Debian 密码和安装在 Debian 机器上的 SSH 密钥。避免使用通过 Internet 以明文形式发送密码的登录或上传方法,例如 Telnet、FTP、POP 等。
除非您事先获得许可,否则请勿将任何与 Debian 无关的材料放在 Debian 服务器上。
Debian 机器的当前列表可在 http://db.debian.org/machines.cgi 中找到。该网页包含机器名称、联系信息、有关谁可以登录的信息、SSH 密钥等。
如果您在使用 Debian 服务器时遇到问题,并且您认为需要将此问题通知系统操作员,您可以查看我们的请求跟踪器在 DSA 队列中的未解决问题列表,网址为 https://rt.debian.org/(您可以使用用户“debian”登录,其密码可在 master.debian.org:~debian/misc/rt-password
中找到)。要报告新问题,只需发送邮件至 <admin@rt.debian.org>
,并确保在主题中某处放置字符串“Debian RT”。
如果您遇到与系统管理无关的特定服务问题(例如要从归档中删除的软件包、网站建议等),通常您会针对“伪软件包”报告错误。有关如何提交错误的信息,请参阅 第 7.1 节“错误报告”。
一些核心服务器受到限制,但那里的信息会镜像到另一台服务器。
bugs.debian.org
是错误跟踪系统 (BTS) 的规范位置。
如果您计划对 Debian 错误进行一些统计分析或处理,这将是进行此操作的地方。但是,在实施任何操作之前,请在 <debian-devel@lists.debian.org>
上描述您的计划,以减少不必要的重复工作或浪费处理时间。
ftp-master.debian.org
服务器保存 Debian 归档的规范副本。通常,上传到 ftp.upload.debian.org 的软件包最终会在此服务器上,请参阅 第 5.6 节“上传软件包”。
它是受限制的;ries.debian.org
上提供了镜像。
Debian FTP 归档的问题通常需要作为针对 ftp.debian.org
伪软件包的错误报告,或发送电子邮件至 <ftpmaster@debian.org>
,另请参阅 第 5.9 节“移动、删除、重命名、采用和孤立软件包” 中的程序。
主网站服务器是 www-master.debian.org
。它保存官方网页,是大多数新手了解 Debian 的窗口。
如果您发现 Debian 网站服务器有问题,通常应针对伪软件包 www.debian.org
提交错误报告。请记住检查是否有人已向 错误跟踪系统 报告了该问题。
people.debian.org
是用于开发者关于任何与 Debian 相关主题的个人网页的服务器。
如果您有一些希望在网络上提供的 Debian 特定信息,您可以通过将材料放在 people.debian.org
上您主目录下的 public_html
目录中来完成此操作。这将可以通过 URL http://people.debian.org/~
访问。your-user-id
/
您应该只使用此特定位置,因为它将被备份,而在其他主机上则不会。
通常,使用不同主机的唯一原因是当您需要发布受美国出口限制的材料时,在这种情况下,您可以使用位于美国境外的其他服务器之一。
如果您有任何疑问,请发送邮件至 <debian-devel@lists.debian.org>
。
如果您需要为您的任何 Debian 工作使用版本控制系统,您可以使用 Alioth 上托管的现有存储库之一,或者您可以请求一个新项目并请求您选择的 VCS 存储库。Alioth 支持 CVS (cvs.alioth.debian.org/cvs.debian.org)、Subversion (svn.debian.org)、Arch (tla/baz,都在 arch.debian.org 上)、Bazaar (bzr.debian.org)、Darcs (darcs.debian.org)、Mercurial (hg.debian.org) 和 Git (git.debian.org)。如果您计划在 VCS 存储库中维护软件包,请查看 http://wiki.debian.org/Alioth/PackagingProject。有关 Alioth 提供的服务的信息,请参阅 第 4.12 节“Debian 的 FusionForge 安装:Alioth”。
在某些机器上,有不同发行版的 chroot 环境可用。您可以像这样使用它们
vore$ dchroot unstable Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
在所有 chroot 环境中,都可以使用普通用户的主目录。您可以通过 http://db.debian.org/machines.cgi 查找哪些 chroot 环境可用。
开发者数据库,位于 https://db.debian.org/,是一个 LDAP 目录,用于管理 Debian 开发者属性。您可以使用此资源搜索 Debian 开发者列表。部分信息也可通过 Debian 服务器上的 finger 服务获得,尝试 finger yourlogin@db.debian.org 以查看其报告的内容。
开发者可以 登录数据库 以更改有关他们自己的各种信息,例如
您的 debian.org 电子邮件的转发地址
订阅 debian-private
您是否正在休假
个人信息,例如您的地址、国家/地区、您居住地的经度和纬度,用于 Debian 开发者世界地图、电话和传真号码、IRC 昵称和网页
Debian 项目机器上的密码和首选 shell
大多数信息自然是公众无法访问的。有关更多信息,请阅读您可以在 http://db.debian.org/doc-general.html 找到的在线文档。
开发者还可以提交他们的 SSH 密钥,用于官方 Debian 机器上的授权,甚至添加新的 *.debian.net DNS 条目。这些功能记录在 http://db.debian.org/doc-mail.html。
Debian GNU/Linux 发行版由大量软件包(目前约 15000 个源代码包)和一些附加文件(例如文档和安装光盘映像)组成。
这是一个完整的 Debian 归档的目录树示例
dists/stable/main/ dists/stable/main/binary-amd64/ dists/stable/main/binary-armel/ dists/stable/main/binary-i386/ ... dists/stable/main/source/ ... dists/stable/main/disks-amd64/ dists/stable/main/disks-armel/ dists/stable/main/disks-i386/ ... dists/stable/contrib/ dists/stable/contrib/binary-amd64/ dists/stable/contrib/binary-armel/ dists/stable/contrib/binary-i386/ ... dists/stable/contrib/source/ dists/stable/non-free/ dists/stable/non-free/binary-amd64/ dists/stable/non-free/binary-armel/ dists/stable/non-free/binary-i386/ ... dists/stable/non-free/source/ dists/testing/ dists/testing/main/ ... dists/testing/contrib/ ... dists/testing/non-free/ ... dists/unstable dists/unstable/main/ ... dists/unstable/contrib/ ... dists/unstable/non-free/ ... pool/ pool/main/a/ pool/main/a/apt/ ... pool/main/b/ pool/main/b/bash/ ... pool/main/liba/ pool/main/liba/libalias-perl/ ... pool/main/m/ pool/main/m/mailx/ ... pool/non-free/f/ pool/non-free/f/firmware-nonfree/ ...
如您所见,顶层目录包含两个目录,dists/
和 pool/
。后者是一个“池”,软件包实际上位于其中,并由归档维护数据库和随附的程序处理。前者包含发行版,stable
、testing
和 unstable
。Packages
和 Sources
文件在发行版子目录中可以引用 pool/
目录中的文件。每个发行版下方的目录树以相同的方式排列。我们下面描述的 stable
同样适用于 unstable
和 testing
发行版。
dists/stable
包含三个目录,即 main
、contrib
和 non-free
。
在每个区域中,都有一个用于源代码包的目录 (source
) 和一个用于每个支持架构的目录 (binary-i386
、binary-amd64
等)。
main
区域包含其他目录,这些目录包含光盘映像和在特定架构上安装 Debian 发行版所需的一些基本文档 (disks-i386
、disks-amd64
等)。
Debian 归档的 main
区块构成了 官方 Debian GNU/Linux 发行版。main
区块是官方的,因为它完全符合我们的所有准则。其他两个区块在不同程度上不符合;因此,它们不是 Debian GNU/Linux 的官方组成部分。
main
区块中的每个软件包都必须完全符合 Debian 自由软件准则 (DFSG) 和 Debian 策略手册 中描述的所有其他策略要求。DFSG 是我们对“自由软件”的定义。查看 Debian 策略手册了解详细信息。
contrib
区块中的软件包必须符合 DFSG,但可能不符合其他要求。例如,它们可能依赖于非自由软件包。
不符合 DFSG 的软件包被放置在 non-free
区块中。这些软件包不被视为 Debian 发行版的一部分,但我们允许使用它们,并为非自由软件包提供基础设施(例如我们的错误跟踪系统和邮件列表)。
Debian 策略手册 包含对这三个区块的更准确定义。以上讨论只是一个介绍。
归档顶层这三个区块的分离对于所有想要分发 Debian 的人(无论是通过 Internet 上的 FTP 服务器还是 CD-ROM)都很重要:通过仅分发 main
和 contrib
区块,可以避免任何法律风险。例如,non-free
区块中的某些软件包不允许商业分发。
另一方面,CD-ROM 供应商可以轻松检查 non-free
中软件包的各个软件包许可证,并在 CD-ROM 中包含尽可能多的软件包。(由于这在不同供应商之间差异很大,因此这项工作无法由 Debian 开发者完成。)
请注意,术语区块也用于指代简化可用软件包的组织和浏览的类别,例如 admin
、net
、utils
等。曾经,这些区块(更确切地说是子区块)以 Debian 归档中的子目录形式存在。如今,这些仅存在于软件包的 Section 标头字段中。
在早期,Linux 内核仅适用于 Intel i386(或更高版本)平台,Debian 也是如此。但是随着 Linux 变得越来越流行,内核被移植到其他架构,Debian 也开始支持它们。似乎支持如此多的硬件还不够,Debian 决定构建一些基于其他 Unix 内核的端口,例如 hurd
和 kfreebsd
。
Debian GNU/Linux 1.3 仅作为 i386
提供。Debian 2.0 针对 i386
和 m68k
架构发布。Debian 2.1 针对 i386
、m68k
、alpha
和 sparc
架构发布。从那时起,Debian 得到了巨大的发展。Debian 6 总共支持九种 Linux 架构 (amd64
、armel
、i386
、ia64
、mips
、mipsel
、powerpc
、s390
、sparc
) 和两种 kFreeBSD 架构 (kfreebsd-i386
和 kfreebsd-amd64
)。
有关特定端口的开发者和用户的信息,请访问 Debian Ports 网页。
Debian 软件包有两种类型,即 source
和 binary
软件包。
根据源代码包的格式,除了强制性的 .dsc
文件外,它还将包含一个或多个文件
格式为“1.0”,它要么有一个 .tar.gz
文件,要么同时有一个 .orig.tar.gz
和一个 .diff.gz
文件;
格式为“3.0 (quilt)”,它有一个强制性的 .orig.tar.{gz,bz2,xz}
上游 tarball,多个可选的 .orig-
附加上游 tarball 和一个强制性的 component
.tar.{gz,bz2,xz}debian.tar.{gz,bz2,xz}
debian tarball;
格式为“3.0 (native)”,它只有一个 .tar.{gz,bz2,xz}
tarball。
如果软件包是专门为 Debian 开发的,并且未在 Debian 之外分发,则只有一个 .tar.{gz,bz2,xz}
文件包含程序的源代码,它被称为“native”源代码包。如果软件包也在其他地方分发,则 .orig.tar.{gz,bz2,xz}
文件存储所谓的 上游源代码
,即由 上游维护者
(通常是软件作者)分发的源代码。在这种情况下,.diff.gz
或 debian.tar.{gz,bz2,xz}
包含 Debian 维护者所做的更改。
.dsc
文件列出了源代码包中的所有文件以及校验和 (md5sums) 和有关软件包的一些其他信息(维护者、版本等)。
上一章中描述的目录系统本身包含在 发行版目录
中。每个发行版实际上都包含在 Debian 归档顶层的 pool
目录中。
总而言之,Debian 归档在 FTP 服务器中有一个根目录。例如,在镜像站点 ftp.us.debian.org
上,Debian 归档本身包含在 /debian 中,这是一个常见的位置(另一个是 /pub/debian
)。
发行版包括 Debian 源代码和二进制软件包,以及各自的 Sources
和 Packages
索引文件,其中包含来自所有这些软件包的标头信息。前者保存在 pool/
目录中,而后者保存在归档的 dists/
目录中(为了向后兼容)。
始终存在名为 stable
(位于 dists/stable
中)、testing
(位于 dists/testing
中)和 unstable
(位于 dists/unstable
中)的发行版。这反映了 Debian 项目的开发过程。
活跃的开发在 unstable
发行版中完成(这就是为什么此发行版有时称为 开发发行版
)。每个 Debian 开发者都可以随时在此发行版中更新他或她的软件包。因此,此发行版的内容每天都在变化。由于没有做出特别努力来确保此发行版中的所有内容都正常工作,因此有时实际上是不稳定的。
testing 发行版是通过从 unstable
中获取满足某些标准的软件包自动生成的。这些标准应确保 testing
中软件包的良好质量。testing
的更新每天启动两次,就在新软件包安装后。请参阅 第 5.13 节“testing 发行版”。
经过一段时间的开发后,一旦发布经理认为合适,testing
发行版就会被冻结,这意味着控制软件包如何从 unstable
移动到 testing
的策略会收紧。过于有错误的软件包将被删除。testing
中不允许进行任何更改,错误修复除外。经过一段时间后,根据进度,testing
发行版将被进一步冻结。发布团队会在 debian-devel-announce 上发布有关 testing 发行版处理的详细信息。在开放问题得到解决并让发布团队满意后,发行版就会发布。发布意味着 testing
被重命名为 stable
,并为新的 testing
创建新副本,之前的 stable
被重命名为 oldstable
并保留在那里,直到最终归档。归档后,内容将移至 archive.debian.org
。
此开发周期基于以下假设:unstable
发行版在经过一段时间的 testing
后会变为 stable
。即使发行版被认为是稳定的,也仍然不可避免地存在一些错误——这就是为什么 stable 发行版会不时更新的原因。但是,这些更新都经过非常仔细的测试,并且必须单独引入归档中,以降低引入新错误的风险。您可以在 proposed-updates
目录中找到对 stable
的建议添加。那些通过审核的 proposed-updates
中的软件包会定期批量移动到 stable 发行版中,并且 stable 发行版的修订级别会递增(例如,“6.0”变为“6.0.1”,“5.0.7”变为“5.0.8”,依此类推)。有关详细信息,请参阅 上传到 stable
发行版。
请注意,unstable
下的开发在冻结期间继续进行,因为 unstable
发行版与 testing
并行保留。
软件包通常在 unstable
中经过一定程度的测试后安装到 testing
发行版中。
有关更多详细信息,请参阅 有关 testing 发行版的信息。
experimental
发行版是一个特殊的发行版。它不是与 stable
、testing
和 unstable
相同意义上的完整发行版。相反,它旨在成为高度实验性软件的临时暂存区,这些软件很有可能破坏您的系统,或者软件甚至对于 unstable
发行版来说也太不稳定(但仍然有理由对其进行打包)。下载并安装 experimental
中软件包的用户应该已被正式警告。简而言之,对于 experimental
发行版,一切都无法保证。
以下是 experimental
的 sources.list(5) 行
deb http://ftp.xy
.debian.org/debian/ experimental main deb-src http://ftp.xy
.debian.org/debian/ experimental main
如果软件有可能对系统造成严重损害,则最好将其放入 experimental
中。例如,实验性压缩文件系统可能应该放入 experimental
中。
每当软件包的新上游版本引入新功能但破坏了很多旧功能时,它要么不应上传,要么应上传到 experimental
。一些软件的新 beta 版本使用完全不同的配置,可以由维护者自行决定放入 experimental
中。如果您正在处理不兼容或复杂的升级情况,您也可以使用 experimental
作为暂存区,以便测试人员可以尽早访问。
一些实验性软件仍然可以进入 unstable
分支,描述中会带有少量警告,但这并不推荐,因为来自 unstable
的软件包预计会传播到 testing
,并最终传播到 stable
。您不应害怕使用 experimental
分支,因为它不会给 ftpmasters 带来任何麻烦。一旦您在 unstable
分支中上传了更高版本号的软件包,实验性软件包会定期被移除。
不太可能损害您系统的新软件可以直接进入 unstable
分支。
除了 experimental
分支之外,另一种选择是使用您在 people.debian.org
上的个人网页空间。
每个发布的 Debian 发行版都有一个 代号
:Debian 1.1 称为 buzz
;Debian 1.2,rex
;Debian 1.3,bo
;Debian 2.0,hamm
;Debian 2.1,slink
;Debian 2.2,potato
;Debian 3.0,woody
;Debian 3.1,sarge
;Debian 4.0,etch
;Debian 5.0,lenny
;Debian 6.0,squeeze
,下一个版本将被称为 wheezy
。还有一个被称为 sid
的“伪发行版”,它是当前的 unstable
发行版;由于软件包从 unstable
移动到 testing
以接近稳定状态,因此 sid
本身永远不会发布。除了 Debian 发行版的通常内容外,sid
还包含用于 Debian 尚未正式支持或发布的架构的软件包。这些架构计划在未来某个日期集成到主流发行版中。
由于 Debian 采用开放的开发模式(即,每个人都可以参与并关注开发),即使是 unstable
和 testing
发行版也通过 Debian FTP 和 HTTP 服务器网络分发到互联网。因此,如果我们将包含候选发布版本的目录称为 testing
,那么当该版本发布时,我们将不得不将其重命名为 stable
,这将导致所有 FTP 镜像重新检索整个发行版(这相当大)。
另一方面,如果我们从一开始就将发行版目录称为 Debian-x.y
,人们会认为 Debian x.y
版本已经可用。(过去发生过这种情况,一家 CD-ROM 供应商基于 1.0 之前的开发版本构建了 Debian 1.0 CD-ROM。这就是为什么第一个官方 Debian 版本是 1.1,而不是 1.0 的原因。)
因此,存档中发行版目录的名称由其代号而不是其发布状态(例如,“squeeze”)决定。这些名称在开发期间和发布后保持不变;符号链接(可以轻松更改)指示当前发布的稳定发行版。这就是为什么真正的发行版目录使用 代号
,而 stable
、testing
和 unstable
的符号链接指向相应的发布目录。
各种下载存档和网站都有多个镜像可用,以减轻我们规范服务器的重负载。实际上,一些规范服务器不是公开的——第一层镜像平衡了负载。这样,用户始终访问镜像并习惯于使用它们,这使 Debian 能够更好地将其带宽需求分散到多个服务器和网络上,并且基本上使用户避免冲击一个主要位置。请注意,第一层镜像尽可能保持最新,因为它们在内部站点触发时更新(我们称之为推送镜像)。
有关 Debian 镜像的所有信息,包括可用公共 FTP/HTTP 服务器的列表,可以在 http://www.debian.org/mirror/ 找到。这个有用的页面还包括如果您有兴趣建立自己的镜像(无论是内部访问还是公共访问)可能会有所帮助的信息和工具。
请注意,镜像通常由有兴趣帮助 Debian 的第三方运行。因此,开发者通常在这些机器上没有帐户。
Incoming 系统负责收集更新的软件包并将它们安装到 Debian 存档中。它由安装在 ftp-master.debian.org
上的一组目录和脚本组成。
软件包由所有维护者上传到一个名为 UploadQueue
的目录中。这个目录每隔几分钟由一个名为 queued 的守护进程扫描,*.command
文件被执行,剩余的和正确签名的 *.changes
文件连同其对应的文件一起被移动到 unchecked
目录。这个目录对大多数开发者是不可见的,因为 ftp-master 是受限的;它每 15 分钟由 dak process-upload 脚本扫描,该脚本验证上传软件包的完整性及其加密签名。如果软件包被认为可以安装,它将被移动到 done
目录。如果这是软件包的首次上传(或者它有新的二进制软件包),它将被移动到 new
目录,在那里等待 ftpmasters 的批准。如果软件包包含要手动安装的文件,它将被移动到 byhand
目录,在那里等待 ftpmasters 的手动安装。否则,如果检测到任何错误,软件包将被拒绝并移动到 reject
目录。
一旦软件包被接受,系统会向维护者发送确认邮件,并关闭所有标记为由上传修复的错误,并且自动构建器可能会开始重新编译它。该软件包现在可以在 http://incoming.debian.org/ 公开访问,直到它真正安装到 Debian 存档中。这每天发生四次(也被称为“dinstall 运行”,这是出于历史原因);然后软件包从 incoming 中移除并安装到池中以及所有其他软件包。一旦所有其他更新(例如,生成新的 Packages
和 Sources
索引文件)完成,就会调用一个特殊脚本来要求所有主镜像更新自己。
存档维护软件还将您上传的 OpenPGP/GnuPG 签名 .changes
文件发送到相应的邮件列表。如果软件包以 Distribution
设置为 stable
发布,则公告将发送到 <debian-changes@lists.debian.org>
。如果软件包以 Distribution
设置为 unstable
或 experimental
发布,则公告将发布到 <debian-devel-changes@lists.debian.org>
。
虽然 ftp-master 是受限的,但所有开发者都可以在 ries.debian.org
上获得安装的副本。
每个软件包都有几个专门的网页。http://packages.debian.org/
显示软件包在各种发行版中可用的每个版本。每个版本都链接到一个页面,该页面提供信息,包括软件包描述、依赖项和软件包下载链接。package-name
错误跟踪系统跟踪每个软件包的错误。您可以在 URL http://bugs.debian.org/
上查看给定软件包的错误。package-name
dak ls 是 dak 工具套件的一部分,列出所有已知发行版和架构的可用软件包版本。dak 工具在 ftp-master.debian.org
和 ries.debian.org
上的镜像上可用。它使用与软件包名称对应的单个参数。一个例子会更好地解释它
$ dak ls evince evince | 0.1.5-2sarge1 | oldstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc evince | 0.4.0-5 | etch-m68k | source, m68k evince | 0.4.0-5 | stable | source, alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc evince | 2.20.2-1 | testing | source evince | 2.20.2-1+b1 | testing | alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc evince | 2.22.2-1 | unstable | source, alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
在这个例子中,您可以看到 unstable
中的版本与 testing
中的版本不同,并且该软件包的所有架构都有一个仅二进制的 NMU。软件包的每个版本都在所有架构上重新编译。
软件包跟踪系统 (PTS) 是一种基于电子邮件的工具,用于跟踪源软件包的活动。这实际上意味着您可以通过订阅 PTS 中的软件包来获得软件包维护者收到的相同电子邮件。
通过 PTS 发送的每封电子邮件都根据下面列出的关键字进行分类。这将让您选择您想要接收的邮件。
默认情况下,您将收到
bts
所有错误报告和后续讨论。
bts-control
来自 <control@bugs.debian.org>
关于错误报告状态更改的电子邮件通知。
upload-source
当上传的源软件包被接受时,来自 dak 的电子邮件通知。
katie-other
来自 dak 的其他警告和错误电子邮件(例如,section 和/或 priority 字段的覆盖差异)。
buildd
构建守护进程网络发送的构建失败通知,它们包含指向构建日志以进行分析的指针。
default
人们发送到 PTS 的任何非自动电子邮件,他们希望联系软件包的订阅者。这可以通过发送邮件到
来完成。为了防止垃圾邮件,发送到这些地址的所有邮件都必须包含带有非空值的 sourcepackage
@packages.qa.debian.orgX-PTS-Approved
标头。
contact
通过 *@packages.debian.org 电子邮件别名发送给维护者的邮件。
summary
关于软件包状态的定期摘要电子邮件,包括进入 testing
的进度、DEHS 关于新上游版本的通知,以及软件包是否被移除或孤立的通知。
您还可以决定接收其他信息
upload-binary
当上传的二进制软件包被接受时,来自 katie 的电子邮件通知。换句话说,每当构建守护进程或移植者为另一个架构上传您的软件包时,您可以收到一封电子邮件来跟踪您的软件包如何在所有架构上重新编译。
cvs
VCS 提交通知,如果软件包有一个 VCS 仓库并且维护者已设置将提交通知转发到 PTS。“cvs”名称是历史遗留的,在大多数情况下,提交通知将来自一些其他 VCS,如 subversion 或 git。
ddtp
提交到 Debian 描述翻译项目的描述或 debconf 模板的翻译。
derivatives
关于衍生发行版(例如 Ubuntu)中对软件包所做更改的信息。
derivatives-bugs
来自衍生发行版(例如 Ubuntu)的错误报告和评论。
您可以通过向 <pts@qa.debian.org>
发送各种命令来控制您对 PTS 的订阅。
subscribe <sourcepackage> [<email>]
将 email
订阅到与源软件包 sourcepackage
相关的通信。如果第二个参数不存在,则使用发件人地址。如果 sourcepackage
不是有效的源软件包,您将收到警告。但是,如果它是有效的二进制软件包,PTS 将使您订阅相应的源软件包。
unsubscribe <sourcepackage> [<email>]
使用指定的电子邮件地址或发件人地址(如果省略第二个参数)删除先前对源软件包 sourcepackage
的订阅。
unsubscribeall [<email>]
删除指定电子邮件地址或发件人地址(如果省略第二个参数)的所有订阅。
which [<email>]
列出发送者或可选指定的电子邮件地址的所有订阅。
keyword [<email>]
告诉您您接受的关键字。有关关键字的解释,请参阅上面。这是一个快速摘要
bts
:来自 Debian 错误跟踪系统的邮件
bts-control
:回复发送到 <control@bugs.debian.org>
的邮件
summary
:关于软件包状态的自动摘要邮件
contact
:通过 *@packages.debian.org 别名发送给维护者的邮件
cvs
:VCS 提交的通知
ddtp
:描述和 debconf 模板的翻译
derivatives
:衍生发行版对软件包所做的更改
derivatives-bugs
:来自衍生发行版的错误报告和评论
upload-source
:已接受的新源上传的公告
upload-binary
:新的仅二进制上传(移植)的公告
katie-other
:来自 ftpmasters 的其他邮件(覆盖差异等)
buildd
:来自构建守护进程的构建失败通知
default
:所有其他邮件(那些非自动的邮件)
keyword <sourcepackage> [<email>]
与前一项相同,但针对给定的源软件包,因为您可以为每个源软件包选择一组不同的关键字。
keyword [<email>] {+|-|=} <list of keywords>
接受 (+) 或拒绝 (-) 根据给定关键字分类的邮件。定义 (=) 接受的关键字列表。这将更改用户接受的默认关键字集。
keywordall [<email>] {+|-|=} <list of keywords>
接受 (+) 或拒绝 (-) 根据给定关键字分类的邮件。定义 (=) 接受的关键字列表。这将更改用户所有当前活动订阅的接受关键字集。
keyword <sourcepackage> [<email>] {+|-|=} <list of keywords>
与前一项相同,但覆盖指示的源软件包的关键字列表。
quit | thanks | --
停止处理命令。机器人忽略所有后续行。
pts-subscribe 命令行实用程序(来自 devscripts
软件包)可以方便地临时订阅一些软件包,例如在进行非维护者上传后。
一旦您订阅了一个软件包,您将收到发送到
的邮件。这些邮件附加了特殊标头,让您可以在特殊邮箱中过滤它们(例如,使用 procmail)。添加的标头是 sourcepackage
@packages.qa.debian.orgX-Loop
、X-PTS-Package
、X-PTS-Keyword
和 X-Unsubscribe
。
以下是 dpkg
软件包的源上传通知的添加标头示例
X-Loop: dpkg@packages.qa.debian.org X-PTS-Package: dpkg X-PTS-Keyword: upload-source List-Unsubscribe: <mailto:pts@qa.debian.org?body=unsubscribe+dpkg>
如果您使用公开可访问的 VCS 仓库来维护您的 Debian 软件包,您可能希望将提交通知转发到 PTS,以便订阅者(和可能的共同维护者)可以密切关注软件包的演变。
一旦您设置 VCS 仓库以生成提交通知,您只需确保它将这些邮件的副本发送到
。只有接受 sourcepackage
_cvs@packages.qa.debian.orgcvs
关键字的人才会收到这些通知。请注意,邮件需要从 debian.org
机器发送,否则您必须添加 X-PTS-Approved: 1
标头。
对于 Subversion 仓库,建议使用 svnmailer。有关如何执行此操作的示例,请参阅 http://wiki.debian.org/Alioth/PackagingProject。
PTS 在 http://packages.qa.debian.org/ 上有一个网页界面,其中汇集了有关每个源软件包的大量信息。它具有许多有用的链接(BTS、QA 统计信息、联系信息、DDTP 翻译状态、buildd 日志),并从各个地方收集更多信息(30 个最新更新日志条目、测试状态等)。如果您想了解特定源软件包的进展情况,这是一个非常有用的工具。此外,还有一个表单允许通过电子邮件轻松订阅 PTS。
您可以使用类似 http://packages.qa.debian.org/
的 URL 直接跳转到关于特定源软件包的网页。sourcepackage
此网页界面被设计为软件包开发的门户:您可以在软件包页面上添加自定义内容。您可以添加静态信息(旨在无限期保留的新闻项目)以及最新新闻部分中的新闻项目。
静态新闻项目可用于指示
托管在 Alioth 上的项目可用于共同维护软件包
上游网站的链接
上游错误跟踪器的链接
专用于该软件的 IRC 频道的存在
任何其他可用于软件包维护的可用资源
常用新闻项目可用于宣布
beta 软件包可用于测试
最终软件包预计在下周发布
软件包即将从头开始重做
backports 可用
维护者正在休假(如果他们希望发布此信息)
正在进行 NMU
某些重要事件将影响软件包
两种类型的新闻都以类似的方式生成:您只需发送电子邮件至 <pts-static-news@qa.debian.org>
或 <pts-news@qa.debian.org>
。邮件应通过在 X-PTS-Package
邮件标头或 Package
伪标头(如 BTS 报告)中包含源软件包的名称来指示哪个软件包相关。如果 X-PTS-Url
邮件标头或 Url
伪标头中提供了 URL,则结果将是指向该 URL 的链接,而不是完整的新闻项目。
以下是一些用于在 PTS 中生成新闻项目的有效邮件示例。第一个示例在静态信息部分中添加了指向 debian-cd 的 viewsvn 界面的链接
From: Raphael Hertzog <hertzog@debian.org> To: pts-static-news@qa.debian.org Subject: Browse debian-cd SVN repository Package: debian-cd Url: http://svn.debian.org/viewsvn/debian-cd/trunk/
第二个示例是发送到邮件列表的公告,该公告也发送到 PTS,以便将其发布在软件包的 PTS 网页上。请注意使用 BCC 字段以避免错误地发送到 PTS 的回复。
From: Raphael Hertzog <hertzog@debian.org> To: debian-gtk-gnome@lists.debian.org Bcc: pts-news@qa.debian.org Subject: Galeon 2.0 backported for woody X-PTS-Package: galeon Hello gnomers! I'm glad to announce that galeon has been backported for woody. You'll find everything here: ...
在向 PTS 添加新闻项目之前请三思,因为您以后将无法删除它,也无法编辑它。您唯一可以做的是发送第二个新闻项目,该项目将弃用先前新闻项目中包含的信息。
QA(质量保证)门户可在 http://qa.debian.org/developer.php 上访问,该门户显示一个表格,列出单个开发者的所有软件包(包括该方被列为共同维护者的软件包)。该表格提供了关于开发者软件包的良好摘要:按严重程度划分的错误数量、每个发行版中可用版本的列表、测试状态以及更多信息,包括指向任何其他有用信息的链接。
定期查看您自己的数据是一个好主意,这样您就不会忘记任何未解决的错误,也不会忘记哪些软件包是您的责任。
Alioth 是一个基于略微修改的 FusionForge 软件(从 SourceForge 和 GForge 演变而来)的 Debian 服务。该软件为开发者提供对易于使用的工具的访问,例如错误跟踪器、补丁管理器、项目/任务管理器、文件托管服务、邮件列表、VCS 仓库等。所有这些工具都通过网页界面进行管理。
它旨在为 Debian 支持或领导的自由软件项目提供便利,促进外部开发者对 Debian 发起的项目的贡献,并帮助那些目标是推广 Debian 或其衍生品的项目。它被许多 Debian 团队大量使用,并为各种 VCS 仓库提供托管。
所有 Debian 开发者都自动拥有 Alioth 帐户。他们可以使用恢复密码功能激活它。外部开发者可以请求 Alioth 上的访客帐户。
有关更多信息,请访问以下链接
自 2002 年 10 月以来,HP 赞助了所有感兴趣的 Debian 开发者的 LWN 订阅。有关如何获得此福利的详细信息,请参见 http://lists.debian.org/debian-devel-announce/2002/10/msg00018.html。
截至 2008 年 11 月,Gandi.net 为 Debian 开发者提供其 VPS 托管的折扣价。请参阅 http://lists.debian.org/debian-devel-announce/2008/11/msg00004.html。