2.1.4. Debian 档案库基础
让我们从系统用户的角度来看看 Debian 档案库。
提示 | |
---|---|
Debian 档案库官方政策的定义参见 Debian 政策文档,第2章 —— Debian 档案库。 |
对于典型的 HTTP 访问,档案库在 “/etc/apt/sources.list
” 文件中像下面那样指定,例如,现在 stable
= buster
系统。
deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free
deb http://security.debian.org/ buster/updates main contrib
deb-src http://security.debian.org/ buster/updates main contrib
这里,我倾向于使用代号 “buster
” 来代替套件名 “stable
” ,以避免下一个 stable
版本发布时出现意外。
“/etc/apt/sources.list
” 的含义在 sources.list(5) 中进行了描述,下面是一些要点。
“
deb
” 的那行定义了二进制软件包。“
deb-src
” 的那行定义了源代码软件包。第一个参数是 Debian 档案库的根 URL 。
第二个参数是发行版名称:可以使用套件名或代号。
第三个和之后的参数是 Debian 档案库的有效档案库范围名称。
如果只是用 aptitude
(它不访问源代码相关的元数据),“deb-src
”那行可以安全地删掉(或者在文件开头添加 “#” 来将它注释掉)。这可以加速档案库元数据的更新。URL 可以是“http://
” 、“ftp://
” 、 “file://
” ……
提示 | |
---|---|
如果在上述的例子中,使用了 “ |
下面是配置文件所使用的 Debian 档案库站点的 URL 和套件名或代号的列表。
表 2.2. Debian 档案库站点列表
档案库 URL | 套件名(代号) | 目的 |
---|---|---|
http://deb.debian.org/debian/ | stable (buster ) | stable (buster) release 版本 |
http://deb.debian.org/debian/ | testing (bullseye ) | testing (bullseye) release 版本 |
http://deb.debian.org/debian/ | unstable (sid ) | unstable (sid) release 版本 |
http://deb.debian.org/debian/ | experimental | experimental pre-release 版本(可选,只适用于开发者) |
http://deb.debian.org/debian/ | stable-proposed-updates | 用于下一个稳定版本的更新(可选) |
http://security.debian.org/ | stable/updates | 用于 stable release 版本的安全更新(重要) |
http://security.debian.org/ | testing/updates | 用于 testing release 版本的安全更新(重要) |
http://deb.debian.org/debian/ | buster-updates | 用于 buster 的垃圾邮件过滤器、IM客户端等的兼容更新 |
http://deb.debian.org/debian/ | buster-backports | 用于 buster 的较新的 backported 软件包(可选) |
小心 | |
---|---|
只有带有安全更新的纯净的 |
小心 | |
---|---|
在 “ |
提示 | |
---|---|
对于使用 |
注意 | |
---|---|
Debian 安全团体将会修正 |
表 2.3. Debian 归档区域(area)列表
区域 | 软件包数量 | 软件包组件标准 |
---|---|---|
main | 59430 | 遵从 Debian 自由软件指导方针(DFSG),并且不依赖于 non-free |
contrib | 343 | 遵从 Debian 自由软件指导方针(DFSG),但依赖于 non-free |
non-free | 652 | 不遵从 Debian 自由软件指导方针(DFSG) |
上述软件包的数量是 amd64 架构的。main
区域提供 Debian 系统(参见 第 2.1.5 节 “Debian 是100% 的自由软件”)。
通过把你的浏览器指向档案库 URL,这些 URL 在 dists
或 pool
之后是各不相同的,Debian 档案库能够被有规划的组织。
发行版可以用套件或代号来指定。发行版在许多文档中也被当做是套件的同义词。套件和代号的关系总结如下。
表 2.4. 套件和代号的关系
时间 | suite = stable | suite = testing | suite = unstable |
---|---|---|---|
在 buster 发布后 | codename = buster | codename = bullseye | codename = sid |
在 bullseye 发布后 | codename = bullseye | codename = bookworm | codename = sid |
代号的历史参见 Debian FAQ: 6.2.1 以前用过哪些代号名?
在较严格的 Debian 档案术语,“部分 section”这一词特指按应用领域来分类的软件包类别。(但是,主要部分 (“main section”) 这一词有时会用来描述 Debian 档案区中,名为”main 主要”的区域 。)
Debian 开发者(DD)每次上传软件包到 unstable
档案库(通过 incoming 处理),都必须确保上传的软件包与最新的 unstable
档案库中的最新软件包兼容。
如果 DD 故意打破重要的库升级等的这种兼容性,这通常会在 Debian 开发者邮件列表等进行公告。
在 Debian 档案库维护脚本将软件包从 unstable
档案库移动到 testing
档案库前,档案库维护脚本不仅检查时间(约10天)和软件包的 RC bug 报告的状态,还尝试确保它们可以和最新的 testing
档案库中的软件兼容。这个过程使得testing
档案库非常正确可用。
通过由发布团队领导的逐步冻结档案库的过程,并进行一些手动干预,使 testing
档案库完全一致,无缺陷。然后,将旧的 testing
档案库的代码名称分配给新的 stable
档案库,并为新的 testing
档案库创建新的代码名称。新的 testing
档案库最初的内容和新发布的 stable
档案库的内容完全相同。
unstable
和 testing
档案库都可能会遭受由以下几个因素导致的临时的小故障。
损坏的软件包被上传到档案库(多见于
unstable
)延迟接受新的软件包到档案库(多见于
unstable
)档案库时间同步问题(
testing
和unstable
)手动干预档案库,例如移除软件包(多见于
testing
)等。
因此,如果你决定使用这些档案库,你应该能够修复或忍受这些类型的小故障。
小心 | |
---|---|
在新的 |
提示 | |
---|---|
跟踪 |
档案库的定义参见 Debian 政策文档。