Ubuntu 打包:为什么要分为 32 位和 64 位

Ubuntu 打包:为什么要分为 32 位和 64 位

为什么我们必须对 32 位和 64 位 Ubuntu 操作系统的应用程序进行单独的打包。我的意思是为什么有些应用程序分别制作 32 位和 64 位,而有些应用程序却没有?

如果我们为 64 位操作系统制作 64 位包装,是否有什么优势?

答案1

简单地说,并非所有应用程序都是编译的 32 位或 64 位二进制文​​件。

  • 大多数 Python 库脚本在运行时由本机 Python 二进制文件“编译”(根据系统,将以 32 位或 64 位模式运行)。Java 也一样。
  • 有些软件包只是另一个软件包的资源,可以在 32 位和 64 位软件包之间共享(例如内核源包)。

按照架构分离的软件包要么被编译为机器代码,要么过于依赖与架构相关的依赖项,要么内部包含与架构相关的代码(但似乎不太可能)。


“胖”包和二进制文件是过去曾尝试过的东西,但实际上这会使大多数二进制文件和库的大小增加一倍,并引入无法预见的错误。这根本不是一个值得付出代价的优势。

还值得考虑的是,在大多数情况下,开发人员实际上不需要做任何事情来获取特定于体系结构的软件包。他们会将它们推送到 Launchpad 等构建平台,然后 Launchpad 将返回一堆 32 位、64 位和 ARM 变体软件包。

相关内容