如何在64位的linux中运行32位的应用程序

如何在64位的linux中运行32位的应用程序,第1张

 大部分Linux发行套件都有针对x86_64处理器的版本。比较典型的x86_64的处理器有ADM Athlon II和英特尔Xeon。因为这些Linux发行套件都有自己专用的软件源,这些软件源会为提供所有它所支持的应用软件的二进制包。如果你满足于Linux的安装方式,你可能不会需要运行32位的程序

一些Linux商业软件,尤其是游戏,只提供32的版本。因为某些特殊的理由,你可能需要配置你的电脑来运行32位的软件。

安装32位的支持库

因为x86_64处理器是为x86技术涉及,所以它也是支持32位程序的。在Linux里,你所需要做的就是为这些软件安装必要的软件库。幸运的是,大部分Linux发行版本已经将这些打包好了。比方在Ubuntu里,这个包就叫做ia32-libs。为了安装它,你可以打开一个终端,然后输入下面的内容:

sudo apt-get install ia32-libs

在Kubuntu中,你也可以通过Synaptic和Kpackagekit在图形界面下安装。一旦安装了之后,像游戏之类的软件就不再需要更多的配置。

图形问题

当你在一个64位的环境中运行32位的软件时,Ubuntu仍然会去寻找默认的GTK引擎。这样导致一个wrong ELF class的报错。这种情况在你运行某些特定的软件的时候特别恼人,比方说Chrome,一款新的谷歌浏览器开源版本。Ubuntu确实已经将32位版本的GTK引擎安装在了 /usr/lib32/gtk-2.0,但是我所使用的GTK项目并没有在这个位置找到。快速的解决方法如下:

1、为你现在用的主题找到32位包。比方说我,我查找了ubuntu packages

2、下载包,然后将包解压缩

3、为主题找到库文件

4、将库拷贝到lib32路径:

sudo cp ~/download-directory/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so /usr/lib32/gtk-2.0/2.10.0/engines/

比方说Chrome,它的需要可以设置在启动脚本里: /user/lib32/gtk-2.0如果程序的启动脚本在你运行的时候没有去看,而是去寻找 /user.lib/gtk-2.0,你可能需要修改启动脚本或者在终端里输出并设置一个环境变量:

export GTK_PATH=/usr/lib32/gtk-2.0 command-to-start-app

如果一个程序没有启动脚本,你可以像上面那样设置下环境变量。

Linux 64位系统可以使用多种方法来兼容x86程序。首先,可以使用虚拟机来运行x86程序,其次,可以使用32位库文件来支持x86程序,最后,可以使用编译器来将x86程序编译成64位程序。

第一、设计初衷不同

64位是为视频、绘画、高性能应用程序所设计开发的32位是为普通用户开发的。

第二、配置要求不同

64位 *** 作系统只能安装在64位电脑上,32位 *** 作系统可以安装在64位电脑上。

32位 *** 作系统安装在64位电脑上,其硬件恰似大车拉小车,这样64位硬件性能会大打折扣。

第三、运算速度不同

64位CPU的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据。比32位提高了一倍,理论上性能会相应提升1倍。

第四、寻址能力不同

在Linux下32位系统不打开PAE的情况下,只能支持4G内存。

32位系统最大只能支持3.2g左右内存,而64位系统支持高达128g的物理内存和多达16TB的虚拟内存。

第五、软件普及不同

64位软件相较32位软件少。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8462872.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存