至少适用于光盘源和本地源,其他标准形式的应该也ok
需要安装
apt-utils
# 注意将[CODENAME] 根据实际情况修改
cat > apt-ftparchive-udeb.conf <<EOF
Dir {
ArchiveDir ".";
OverrideDir ".";
CacheDir ".";
};
TreeDefault {
Directory "pool/";
};
BinDirectory "pool/main" {
Packages "dists/[CODENAME]/main/debian-installer/binary-amd64/Packages";
};
Default {
Packages {
Extensions ".udeb";
Compress ". gzip";
};
};
Contents {
Compress "gzip";
};
EOF
apt-ftparchive generate apt-ftparchive-udeb.conf
cat > config-rel <<EOF
APT::FTPArchive::Release::Codename "[CODENAME]";
APT::FTPArchive::Release::Origin "Ubuntu";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Label "Ubuntu";
APT::FTPArchive::Release::Architectures "amd64";
APT::FTPArchive::Release::Suite "[CODENAME]";
EOF
apt-ftparchive -c config-rel release dists/[CODENAME] > dists/[CODENAME]/Release
关于apt-ftparchive的介绍
- 用法: apt-ftparchive [选项] 命令
- 命令: packages 二进制软件包搜索路径 [overridefile [路径前缀]]
sources 源代码包搜索路径 [overridefile [路径前缀]]
contents 搜索路径
release 搜索路径
generate 配置文件 [groups]
clean 配置文件
apt-ftparchive 被用来为 Debian 软件包生成索引文件。它能支持多种生成索引的方式,从全自动的索引生成到在功能上取代 dpkg-scanpackages 和 dpkg-scansources,都能游刃有余
apt-ftparchive 能依据一个由 .deb 文件构成的文件树生成 Package 文件。
Package 文件里不仅注有每个软件包的 MD5 校验码和文件大小,
还有软件包的所有控制字段的内容。该软件同时支持 override 文件,
通过它可以强制指定软件包的优先级及其所属的软件类别。
与上面类似,apt-ftparchive 也能由 .dsc 的文件树生成 Source 文件。
可以通过使用 –source-override 选项来指定一个 override 文件
使用“packages”和“source”命令时,必须在文件树的根部执行本程序。
二进制包的搜索路径一定要是递归搜索的底层,而且 override 文件里
应该注明 override 的标志。若指定了路径前缀,那么它会被加到文件名前面。
下面有个来自 Debian 文档的例子:
apt-ftparchive packages dists/potato/main/binary-i386 > \
dists/potato/main/binary-i386/Packages
- 选项:
-h 本帮助文档
–md5 使之生成 MD5 校验和
-s=? 源代码包 override 文件
-q 输出精简信息
-d=? 指定可选的缓存数据库
-d=? 使用另一个可选的缓存数据库
–no-delink 开启delink的调试模式
–contents 使之生成控制内容文件
-c=? 读取指定配置文件
-o=? 设置任意指定的配置选项
“`