2.5.4. 获取用于软件包的元数据

当使用 APT 工具时,如 aptitude, apt-get, synaptic, apt-file, auto-apt,我们需要更新包含 Debian 档案库信息元数据的本地拷贝。这些本地拷贝的文件名称,和在 “/etc/apt/sources.list“ 文件里面的 distribution, area, architecture 相应名称一致。 (参见 第 2.1.4 节 “Debian 档案库基础”).

  • /var/lib/apt/lists/deb.debian.org_debian_dists_<distribution>_Release

  • /var/lib/apt/lists/deb.debian.org_debian_dists_<distribution>_Release.gpg

  • /var/lib/apt/lists/deb.debian.org_debian_dists_<distribution>_<area>_binary-<architecture>_Packages

  • /var/lib/apt/lists/deb.debian.org_debian_dists_<distribution>_<area>_source_Sources

  • /var/cache/apt/apt-file/deb.debian.org_debian_dists_<distribution>_Contents-<architecture>.gz“ (apt-file)

前 4 种类型的文件是所有相关的 APT 命令共享的,并且可以通过 “apt-get update” 或 “aptitude update” 在命令行中进行更新。如果在 “/etc/apt/sources.list” 中有相应的 “deb” 行,则 “软件包” 元数据会进行更新。如果在 “/etc/apt/sources.list” 中有相应的 “deb-src” 行,则 “源代码” 元数据会进行更新。

Packages“ 和 “Sources“ 的元数据文件包含有“Filename:”字段,指向二进制和源代码包文件的位置。目前,这些软件包都统一放在”pool/“目录树下,这样可以改善跨版本发布的传输。

软件包”元数据的本地副本可以使用 aptitude 来进行交互式的搜索。专门的搜索命令 grep-dctrl(1) 可以搜索“软件包”和“源代码”元数据的本地副本。

Contents-<architecture>“元数据的本地拷贝,能够被”apt-file update“更新,它的位置和其它 4 个不同。参见 apt-file(1). (auto-apt 的 “Contents-<architecture>.gz“文件的本地拷贝默认也使用不同的位置。)