![适用于 amd64 机器的 i386 deb 包](https://linux22.com/image/813705/%E9%80%82%E7%94%A8%E4%BA%8E%20amd64%20%E6%9C%BA%E5%99%A8%E7%9A%84%20i386%20deb%20%E5%8C%85%20.png)
我正在构建一个应用程序,我想构建一个 DEB 包,但是我遇到了一个问题......
我希望 DEB 包可以安装在 32 位和 64 位机器上。然后我构建了一个 32 位包来支持这两种架构,但我遇到了依赖关系问题,当 32 位系统安装包时,运行良好,但当 64 位系统安装包时,要安装的依赖关系(共享库)应该是 32 位的(可在 64 位存储库上使用)。
我怎样才能做到这一点?
答案1
安装ia32-libs
无疑是最快的解决方案,但根据具体情况,它可能还不够。
答案2
使用多架构,这很容易。只需构建一个 i386 deb。在 amd64 机器上(如果所有依赖项已在 Ubuntu 中多架构),将安装它们的 32 位版本。
答案3
在 64 位安装中,应该有一个适用于 i386 存储库的 apt 条目,在这种情况下,您可以使用packagename:i386
依赖项,而不是packagename
。例如,wine,您需要 32 位和 64 位库来运行所有 Windows 应用程序。