64位系统是能安装32位的应用软件和程序的,出现问题,最大可能是没有安装 32位的依赖库,或者是安装的32位依赖库不对。
linux一般都是在/etc/dpkg/dpkg.cfg.d/路径下有相关的文件
该目录下multiarch文件就记录foreign-architecture
注意:
ubuntu16.04版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5、lib32z1软件包做为替代,所以在Ubuntu16.04版本当中应该安装执行:
apt-get install lib32ncurses5
apt-get install lib32z1
如果上述两条命令出错,可能原因是,你之前执行过apt-get install ia32-libs,现在需要将/etc/dpkg/dpkg.cfg.d/multiarch文件,复制到u盘备份(以防不测),然后在该路径下删除`multiarch`文件. 之后reboot一下。
详细说明如下:
Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法
经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪。
其实原因很简单,是因为他没有32位的运行库 ia32-libs 会出这种八杆子打不着的奇怪提示。
直接安装即可。
apt-get install ia32-libs
然而,ubuntu16.04 并不再支持 ia32-libs 的软件包。
而是用 lib32ncurses5 lib32z1软件包代替了 ia32-libs 软件包,因此,安装lib32ncurses5 lib32z1就可以了:
apt-get install lib32ncurses5
apt-get install lib32z1
亲测可用!