.dsc (Debian Source Control) 文件是包括 RFC 2822 标头 (如同 control 文件于 ) 的简短文本档,描述原始软件包及包括的其他文件。由维护者签署,保证其真实性。详情见 第 6.5 节 “检查软件包真伪”

    例 5.1. 一个.dsc 文件

    需要注意的是源码包也有依赖性(编译-依赖),和那些二进制包依赖完全不同,因为它们需要设置编译软件所需工具的选项后,再来构建二进制包。

    当心 不同的命名空间

    需注意,原始软件包与其产生的可运行软件包间,不需使用对应的名称。每个原始软件包可能产生多个可运行软件包。所以 .dsc 文件有 与 Binary 字段记录原始软件包的名称与其产生的可运行软件包清单。

    通常,一个源代码软件包 (对于一个指定软件来说) 可产生多个二进制软件包。分开多个二进制包,可以满足在不同的环境使用 (部分) 软件。对于一个共享库,安装它后,可以让一个于应用程序工作 (如,libc6);或者安装后,可以用来开发一个新的程序 (libc6-dev 就是这样的软件包)。在客户端-服务端服务里发现同样的逻辑,在一部机器安装服务端的内容同时在另部机器安装客户端的内容 (例如: openssh-server 与 openssh-client)。

    一样频繁的是,在一个专用的软件包提供文档:用户可以不依赖软件包而独立安装文档包,并且可以在任何时候选择删除掉以节省磁盘空间。此外,这也节省了 Debian 镜像的磁盘空间,因为在所有的架构中(而不是在每个架构中都复制一个一样的文档软件包)将共享这个文档软件包。

    洞察不同格式的源码包

    本来只有一个原始的软件包格式,像1.0这样的格式,它关联了.orig.tar.gz.diff.gz“Debian化”的补丁(还有一个变种,由一个单一的.tar.gz归档,当.orig.tar.gz不可用时它会自动使用。).

    因为 Debian Squeeze、及其开发者可以选择新的格式以校正旧格式的问题。格式 3.0 (quilt) 在同个原始软件包里纳入多个上游文件:除了使用 .orig.tar.gz,还可纳入 .orig-*component*.tar.gz 文件。这种做法有助于散布在多个上游组件的软件,只需准备一个原始软件包。通常把这些文件压缩成 bzip2 或 格式而不是 gzip,以节省磁盘空间与网络资源。最后,在单件补丁的情况下,.diff.gz.debian.tar.gz 取代,包括编译指令与软件包维护者奉献的上传软件包补丁。最后的这些部分记录于格式兼容的 quilt — 它是强化补丁管理的工具。

    .debian.tar.gz 包括 Debian 维护者做的所有修订,特别是添加至 debian 目录运行 Debian 软件包的指令。

    工具 解压缩源码包

    使用原始软件包时,您可使用 dpkg-source 指令 (从 dpkg-dev 软件包取得) 解压缩它:

    可以使用 apt-get 下载原始软件包并立即拆包它。然而,这需要使用适当的 deb-src 位于 文件内,(详情见 )。用于列出原始软件包的 “来源” (就是收藏原始软件包的服务器)。

    5.3.2. Debian 中的使用

    Debian 的基础是原始软件包。Debian 所有的软件包都从原始软件包而来,对软件包的修改也是针对原始软件包。运行软件包出了问题后,Debian 维护者修改原始软件包后,再编译为运行软件包。维护者的工作成果都在 Debian 的原始软件包内:您可轻易地回到原始软件包找出源头。