我刚刚发现,我的 Oneiric 安装中的 Synaptic 显示大约 55,000 个包,而不是 35 个。其中大约 20 个包的名称以 结尾:i386
。我最近还在 Oneiric Beta 发行说明中看到,的 AMD-64 版本可以更好地处理 32 位代码。我想这两个事实是相关的。解释了如何在 64 位安装中无缝安装 32 位代码这里。
对于它的执行是否有任何优化(我猜是内核特定的)?
答案1
不会。多架构更改仅与可执行文件和库的打包和安装到系统的方式有关。代码的执行方式没有变化,内核也没有变化。
简而言之:
Ubuntu 有 64 位和 32 位版本。为了在 64 位版本的 Ubuntu 上运行 32 位软件(主要是 Adobe Flash),您需要一些 32 位支持库。
在旧系统下,所有这些库都以 32 位形式存在于 Ubuntu 的 32 位版本中,但您无法使用这些软件包,因为它们会覆盖您的 64 位版本。因此,这些 32 位库必须专门为 64 位版本打包成一个名为 ia32-libs 的软件包。这个包非常大(源代码有几 GB),并且需要不断添加新的库。
在多架构下,您只需并排安装来自 32 位和 64 位存储库的软件包,这对每个人来说都更简单。