谢谢解答。 我是冲着 multi-arch 能处理多架构的兼容而使用它的,因为我需要在 amd64 系统下运行 32 位的程序。只是在网上经常看到的是别从用的是 amd64 的系统,也是安装 ia32-libs 及其它一些必要的软件包来运行 32 位程序,于是我怀疑我是否真地需要从 multi-arch 安装盘开始。
在 2010年5月22日 上午9:59,Dongsheng Song <dongsheng.s...@gmail.com> 写道: > 其实这里说得已经很明白了: > > http://lackof.org/taggart/hacking/multiarch/ > http://www.pathname.com/fhs/pub/fhs-2.3.html > > multi-arch 是对 FHS 在支持运行不同架构,不同系统的软件的修改/扩展。 > > 比如说在 AMD64 的系统中,32bit和64bit的支持文件分别放到哪里? > > 还有,如果我开发了一个兼容层,可以在 AMD64 的系统中,执行 PPC64 的程序, > 那么安装的PPC64 的支持文件应该放到哪里? > 或者,有个仿真层,可以在 AMD64 的系统中,执行 NetBSD 的程序, > 那么安装的 NetBSD 的支持文件应该放到哪里? > > 对于ia64用户,他的系统支持硬件仿真x86,那么他安装x86软件时,相应的文件放在哪里? > > 对于Sparce64用户,他安装Sparce32软件时,相应的文件放在哪里? > > multi-arch 主要标准化了架构相关文件的存放路径,希望新的软件包按照规定路径 > 安装文件,不要把系统目录弄得乱七八糟,让用户在不同 Linux 版本上,运行其它 > 架构软件时,有个统一的体验。 > > 如果你不需要运行与主架构不同的软件包,那么用起来和普通的系统的差别只在于: > bin/lib/include 的路径改了,例如在AMD64中: > > bin -> x86_64-linux/bin > lib -> x86_64-linux/lib > include -> x86_64-linux/include > > multi-arch 总是有一个主架构的,这个主架构取决于硬件架构和发行版本: > 对于同时支持 32/64bit 的硬件(x86_64,PowerPC64, Sparc64) 比较复杂,可能是: > 32bit kernel + 32bit userland,64bit kernel + 64bit userland, 或者 64bit > kernel + 32bit userland > > 对于只支持32bit或64bit,或31bit的硬件,毫无疑问/显而易见,只有一种主架构,就是 > 它唯一能引导安装的架构。 > > 如果你安装的软件包不支持多架构,那么一般只能安装与主架构相同的二进制包。 > > 2010/5/22 Zhang Jiarui <cylon...@gmail.com>: >> 是不是 multi-arch 指的是 >> 安装程序是multi-arch的,就是i386和amd64都可以启动,安装程序会根据机器的类型决定应该安装哪个。装完以后arch就确定下来了。 >> 因为你机器是amd64的,所以安装的时候就默认安装amd64了。 >> >> 2010/5/19 Mickey Fox <acro...@gmail.com> >>> >>> 在 Debian multi-arch 中安装 amd64 的软件包都没有问题,安装 i386 的软件则需要作一些处理,那么 >>> multi-arch 跟 amd64 之间到底有什么差别呢? >> >> >