1

我正在重新打包一些软件(有自己的安装程序)以供在基于 Debian 的系统下私人使用。该软件已经编译(没有源代码),所以我基本上将安装程序运行到$DESTDIR树中。

不幸的是,安装程序需要预先创建系统用户名和组名。现在,我知道在构建(和安装)Debian 软件包之前“手动”完成它是一件简单的事情。但我想知道是否可以指示 debuild “伪造用户的创建”(同时使用 fakeroot 作为 root 运行)。编辑debian/preinst.exdebian/postrm.ex文件可用于执行这些操作,但这也涉及构建阶段,在构建阶段这些用户在构建之后变得不必要。

所以基本上这意味着让 Debian 构建工具(以及在构建中运行的工具)“相信”某个用户已经存在。如果没有在 chroot 环境(例如 pbuilder)中运行,我该怎么做?

4

1 回答 1

2

有点晚了,但我最好的猜测是LD_PRELOAD,它需要构建一个单独的 C 文件,编译为一个动态库,可以覆盖例如getpwnam()安装程序用来检查用户的内容。

但首先,我真的想看看“安装程序”是否不能被强制进入解包模式。许多安装程序可以使用隐藏选项。

于 2010-09-29T19:29:38.267 回答