如何将 deb 包转换为 udeb

如何将 deb 包转换为 udeb

跟进如何通过 preseed/early_command 安装 squid-deb-proxy-client,我想要一个该squid-deb-proxy-client软件包的 udeb。从阅读Debian 维基看起来将常规 deb 转换为 udeb 应该很容易。但是,我找不到任何工具可以帮我完成这个任务。

因为我认为我还需要将依赖项转换为 udebs,所以我不想手动执行此操作,所以我的问题是:

如何方便的将常规的 deb 包转换为 udebs?

答案1

首先,您应该了解使用和extract的内容。file.debdpkg -xdpkg -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 脚本等。

来源

相关内容