Answers:
对于某些库,可以在64位系统上同时安装32位和64位库。可通过ia32-libs
Ubuntu 10.04及更低版本上的软件包获得。根据的文件列表ia32-libs
,不libfuse.so.2
包含文件。这意味着您不能一次安装两种体系结构。
从Ubuntu 11.10 Oneiric开始,软件包可能允许同时安装称为“ Multi-Arch”的不同体系结构。不幸的是,如果我相信Oneiric上的文件列表libfuse2
,则该软件包尚未转换。这可以通过软件包依赖关系来确定:如果一个软件包依赖于multiarch-support
(例如libdrm2),则它支持多体系结构支持。但是,这不能保证可以同时为多个体系结构安装该软件包。
要查询本地高速缓存中软件包的多体系结构功能libc6
,请运行:
apt-cache show libc6 | grep ^Multi-Arch:
对于此命令,输出为Multi-Arch: same
。这意味着可以同时安装软件包的32位和64位版本。如果没有输出,则说明该软件包尚未准备好支持多体系结构。其他可能的值是foreign
(不能共同安装,但是可以用来满足其他体系结构的依赖性)和allowed
(iirc,一次只能安装一个软件包,但是可以使用该软件包满足其他体系结构的依赖性套餐)
您应该能够在具有以下功能的64位系统上安装32位软件包:
sudo apt-get install packagename:i386
由于没有提供32位保险丝库ia32-libs
,因此您只能自行构建它。
安装保险丝的构建依赖关系并获取源代码:
sudo apt-get install ia32-libs libc6-i386
sudo apt-get build-dep fuse
apt-get source fuse
配置源代码树并构建保险丝(如果需要,请调整目录名称):
cd fuse-2.8.4
CFLAGS=-m32 ./configure --host=i386-linux-gnu
make -j 50
安装32位保险丝库(相应调整版本):
sudo ln -s libfuse.so.2.8.4 /usr/local/lib/libfuse.so.2
sudo install -m644 lib/.libs/libfuse.so.2.8.4 /usr/local/lib/
更新链接器缓存:
sudo ldconfig
(可选)删除源文件:
cd ..
rm -r fuse-2.8.4
就在这里。安装ia32。完成后,您现在可以在64位平台上安装任何基于32位的程序。
ia32-libs
不包含所有32位库。