跟进如何通过 preseed/early_command 安装 squid-deb-proxy-client,我想要一个该squid-deb-proxy-client
软件包的 udeb。从阅读Debian 维基看起来将常规 deb 转换为 udeb 应该很容易。但是,我找不到任何工具可以帮我完成这个任务。
因为我认为我还需要将依赖项转换为 udebs,所以我不想手动执行此操作,所以我的问题是:
如何方便的将常规的 deb 包转换为 udebs?
答案1
首先,您应该了解使用和extract
的内容。file.deb
dpkg -x
dpkg -e
然后您应该创建file.udeb
使用debhelper
。
Debhelper
知道的特殊属性,file.udeb
并会在构建时默认做正确的事情。
2016年6月1日编辑:
Dpkg-deb 是 Debian 软件包档案(.deb)操作工具。
dpkg-deb -x, --extract archive directory
将软件包档案中的文件系统树提取到指定目录中。
使用 dpkg-deb -x 从 foo.deb 包中提取文件,如下所示:
dpkg-deb -x foo.deb /some-dir/debian
ls /some-dir/debian
foo
Debhelper 用于帮助您构建 Debian 软件包。
提供一组易于理解的工具,这些工具用于 debian/rules 中,以自动化构建包的各个常见方面。
一个典型的使用 debhelper 的 debian/rules 文件将按顺序调用几个 debhelper 命令。
使用 debhelper 的规则文件示例位于:/usr/share/doc/debhelper/examples/
要使用 debhelper 创建新的 Debian 包,您只需复制其中一个示例规则文件并手动编辑它。
默认情况下,所有 debhelper 程序都假定用于组装包中文件树的临时目录是 /some-dir/debian/package。
要使用 debhelper 创建 udeb,请将“Package-Type: udeb”添加到 debian/control 中的包节中。
Debhelper 将尝试创建符合 debian-installer 策略的 udebs,通过使生成的包文件以 .udeb 结尾,不将任何文档安装到 udeb 中,跳过 preinst、postrm、prerm 和 config 脚本等。