Answers:
令人困惑,不是吗?让我解释一下。
在11.10之前的64位版本的Ubuntu中,一些通用的32位库集打包在一个ia32-libs
软件包中,表示为APT / Dpkg,为64位,位于存储库中的此类位置。如果您碰巧需要一个应用程序库,则取决于150+ MB的32位库1。显然,这不是一个好的设计。
新的想法是向APT / Dpkg及其周围的工具引入所谓的“ Multiarch”功能。这是在Launchpad上的多个蓝图中提出的,这是其中之一。Oneiric(11.10)成为第一个支持Multiarch的版本。
您可以告诉Dpkg您的系统能够运行哪些体系结构。在我的12.04 64位安装上,这是这里:
$ cat /etc/dpkg/dpkg.cfg.d/multiarch
foreign-architecture i386
它打开了i386
包的整个世界,amd64
仍然是默认设置:
$ apt-cache show libqt4-core | grep -E "^(Filename|Architecture)"
Architecture: amd64
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_amd64.deb
$ apt-cache show libqt4-core:i386 | grep -E "^(Filename|Architecture)"
Architecture: i386
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_i386.deb
上面的示例表明,Multiarch使包维护者能够简单地使其包依赖于libqt4-core:i386
例如,并使其能够安装任何 32位库/包(从而安装依赖于任何32位库/包的任何包)。 ,而不是预先选择的集合。
ia32-libs
兼容性如果您习惯将ia32-libs
软件包安装为方便软件包来安装一组通用的基本32位库,则现在可以使用。这是一个简单的元软件包,取决于相同(或至少非常相似)的库集,但是它将使用Multiarch的功能进行安装。ia32-libs-multiarch
1 对于Lucid(10.04),ia32-libs
软件包安装大小为155,812.0 kB。
amd64
。类似于运行不可用的旧版Ubuntu ia32-libs
。
dpkg --print-foreign-architectures
而不是养猫/etc/dpkg/dpkg.cfg.d/multiarch
。12.04之后不存在。