标签:
前言:本帖仅适用于RedHat、CentOS的64位系统
很多时候我们需要用linux运行或测试程序,然而我们发现64位linux系统在检测32位程序的动态链接库文件时(也就是ldd一个so文件)会报错:
不是动态可执行文件【或英文提示:not a dynamic executable file】
这是因为系统没有安装32位兼容库的缘故,我们分两大方法解决这个问题→有网络/无网络
一、当前使用linux系统已连接网络情况下,可进行在线安装
yum在线安装:sudo yum install xulrunner.i686
或:sudo yum install ia32-libs.i686
Ubuntu系统:sudo apt-get install ia32-libs
但是在这里要附带说明一下,RedHat系统默认是需要注册才能使用yum的在线安装功能的,如果没有注册系统会提示:
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
如果您不想花钱注册,请参考B计划:【使用CentOS的网络资源配置yum源】
备份原repo文件:mv /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.repo.bak
编辑repo文件: vi /etc/yum.repos.d/rhel-debuginfo.repo
内容为:
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/6.0/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/6.0/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#packages used/produced in the build but not released
#[addons] #name=CentOS-$releasever - Addons
#baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
#gpgcheck=1
#gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/6.0/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/6.0/centosplus/$basearch/
gpgcheck=1
enabled=0
编辑完成后使用:yum clean all清理yum包
使用yum install vim或yum install xulrunner.i686 命令安装32位运行库
二、所使用的linux系统为封闭式网路,无法连接外网
这种情况下我们需要有安装光盘,也就是安装当前linux系统所使用的安装光盘,也可以分为两种情况
1): 使用iso镜像文件挂载
1.创建iso存放目录和挂载目录 mkdir /mnt/iso mkdir /mnt/cdrom
2. 将iso镜像文件复制到/mnt/iso文件夹下
3. 将/mnt/iso/下的iso文件挂载到/mnt/cdrom目录 mount -o loop /mnt/iso/XXXXX.iso /mnt/cdrom <注:挂载完之后对其操作会提示设备繁忙,此时需要
umount解开挂载才行> 查看是否挂载成功: df -h <用来查看系统中所有挂载的,mount也可以>
4. cd /etc/yum.repos.d/ ==> 创建自己的.repo文件 touch myself.repo ==> vi myself.repo
[base]
name=RedHat
baseurl=file:///mnt/cdrom #注:这里的baseurl就是你挂载的目录,在这里是/mnt/cdrom
enabled=1
gpgckeck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release #注:此参数可以cd /mnt/cdrom/看到,此参数仅供参考
5. 测试:
yum clean all ==> yum install vim* 如果无效则使用 yum install xulrunner.i686
2:)使用已挂载的镜像文件配置yum源 【光盘已经挂载在media文件中,显示的是已经解压的iso镜像文件】
1. 挂载光盘 mount /dev/cdrom /media 通常会提示:
mount: block device /dev/sr0 is write-protected, mounting read-only
意思是当前光盘是以只读方式挂载的,可以忽略,你也可以添加参数挂载 :
mount -ro -loop /dev/cdrom /media #以只读方式挂载,就不会报错了
2. 建立yum配置文件 vi /etc/yum.repos.d/local.repo 内容如下:
[base]
name=linux6
baseurl=file:///media
gpgcheck=0
enable=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
3. 修改YUM源地址 vi /usr/lib/python2.6/site-packages/yum/yumRepo.py
在末行模式下(也就是输入状态下按了ESC的状态),输入/remote可以查找remote单词
找到 remote = url +‘/‘ + relative 修改为:remote = ‘/yum‘ + relative
4. 测试: yum clean all 安装: yum install vim* 或者使用yum install xulrunner.i686
如果系统在安装一大堆的i686包就代表完成了
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
搜索软件(以包含foo字段为例):yum search foo
显示软件包依赖关系:yum deplist foo
-e 静默执行 -t 忽略错误 -R[分钟] 设置等待时间 -y 自动应答yes --skip-broken 忽略依赖问题 --nogpgcheck 忽略GPG验证
LINUX安装32位运行库【LINUX配置YUM源的几种办法】
标签:
原文地址:http://www.cnblogs.com/Wherebolezi/p/4626670.html