在 i386 机器上为 amd64 编译 debian 包?

Ama*_*rus 6 ubuntu debian 64-bit i386 deb

我有一台 i386 ubuntu hardy 机器和一台 amd64 ubuntu hardy 机器。我想在 i386 上为 amd64 机器编译一个 debian 包(又名 deb)(因为我没有足够的内存在 amd64 机器上快速编译)。如果我dpkg-buildpackage在 i386 机器上做 a ,它会为 i386 生成一个 deb,它不能安装在 amd64 机器上。有没有办法在 i386 机器上为 amd64 编译 deb?

Pet*_*aut 0

我一直在 Debian 上做的一件事是为我的普通系统使用 64 位内核和 32 位用户区,然后创建一个具有 64 位用户区的 chroot 来构建 amd64 软件包。Ubuntu 中内核包的结构有点不同,所以我不知道这是否可能或值得推荐。

除此之外,干净的解决方案是使用虚拟机。QEMU 是显而易见的选择,因为它可以在任何东西上模拟任何东西(而且是免费的)。您可以使用 qemubuilder(在 Ubuntu 中打包)将构建与 pbuilder 集成。根据我的经验,这可能有点棘手,但如果您需要重复执行此操作,那么可能是值得的。对于一些软件包,只需启动 QEMU 并手动登录即可。

如果您非常有冒险精神,您也可以尝试交叉编译,但这可能要困难得多,并且不适用于所有软件包。寻找 dpkg-cross 即可开始。

或者,您可以在 Launchpad 上创建个人包存档 (PPA) 并在那里自动构建您的包。