一个Ubuntu仓库中的文件是如何组织的?仓库中有哪些重要的文件?当一个仓库变得不一致、损坏或正在同步时会发生什么?
root
| -- dists
| -- pool
| -- indices
| -- project
| -- ls-lr.gz
ls-lr.gz
包含了在仓库根目录上运行ls -lr
命令的输出。
dists
目录似乎包含了大部分元数据,包括所有的packages.gz文件(其中包含了一个包列表)和签署该包的Release.gpg/Release文件。(感谢Joao提供的信息)
pool
目录包含了实际的.deb文件。组织结构为/pool/[section]/[letter]/[group]/packagename.deb
。因此,python-subversion包的实际位置是/pool/main/s/subversion/python-subversion_1.3.2-3ubuntu2%7edapper1_amd64.deb
,因为subversion是python-subversion包的组,而s是subversion的首字母。
projects
目录似乎包含了一些详细说明镜像如何与原始仓库同步的文件。
indices
目录中包含许多文件,其中大部分为空。非空文件似乎为软件包提供了一些额外的元数据。pool
是一种约定,请查看Debian文档中的"Sources" Indices"部分:https://wiki.debian.org/DebianRepository/Format - Zach Bloomquist
apt
仓库的文件结构感兴趣,Debian文档详细描述了实现细节:Debian仓库格式。 - Zach Bloomquist