| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> linux64位系统兼容32位程序(不下载兼容包) -> 正文阅读 |
|
[系统运维]linux64位系统兼容32位程序(不下载兼容包) |
64位系统兼容32位系统,正常通过apt指令安装兼容包即可。也就是两条命令的事情: apt-get install gcc-multilib apt-get install g++-multilib 安装完后,32位的程序就可以在硬件上跑了。但是现场已经在使用的硬件产品,因为硬件网络是定向网络(IOT定向卡,限定了访问的IP地址,目前无法访问163和交大的源),所以这些设备上无法执行apt指令。 当然,可以在公司将需要的deb下载下来,然后升级的时候,目标设备下载下来后,dpkg -i来安装这些包。但是,这两个包,依赖的包非常多,搞起来也不是那么容易的。 剩下还有一种办法,就是取一个设备做测试验证,在这个机器上先安装好环境,然后将安装好的包,直接压缩,然后以升级的方式拷贝到目标机器上,不就可以了吗? 按照这个思路,以x86的硬件为例,安装了兼容包后,机器上会多出来: 1. /lib/i386-linux-gnu 整体打包后,到目标机器上, /lib文件夹下解压缩即可 2. /usr/lib32 整体打包,到目标机器上,/usr目录下,解压缩 3. /lib32 这个是指向/usr/lib32的链接文件夹,所以在/下建立用ln -s建立链接文件夹即可 4. 调试指令ldd ldd经常用到,如果只做上面1~3步操作,ldd 检查32位程序,还是不行。需要到/lib目录下,建立快捷文件ld-linux.so.2,如下所示:? 5. 库的加载路径 库的加载路径,由/etc/ld.so.conf.d下的文件夹决定。安装完兼容包的硬件中,会多出i386-linux-gnu.conf,zz_i386-biarch-compat.conf和zz_x32-biarch-compat.conf,这3个文件。把这3个文件拷贝到目标机。如果要不重启验证,那么执行ldconfig。如果重启,那自动就好用了。 做完上述5个步骤后,我的目标机器,就能跑32位的程序了 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:42:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |