64位的Linux配置32位运行库[附:Yum源配置]

前言:本帖仅适用于RedHat、CentOS系统

  新安装的Linux系统,执行32位运行程序时报错:not a dynamic executable file(不是动态可执行文件),ldd命令打印程序或库文件依赖的共享库列表也是同样的提示

  其原因是系统没有安装32位兼容库的缘故,这里常用两个方法来解决这个问题——外网/局域网(本地)

  注:Redhat系统如果非正式渠道获取的官方版本,在线(外网)配置方案会要求注册,这种情况更适合用局域网配置方案

一、可访问外网的配置

  1) Centos系统:默认配置了yum外网官方源地址,可以直接使用在线安装方案

1
sudo  yum  install  xulrunner.i686

  这里的xulrunner.i686是常用的32位兼容运行库,它能解决大多数的32位程序依赖问题;以下包也可以解决依赖问题

1
sudo  yum  install  ia32-libs.i686 glibc.i686 vim*

  2) Ubuntu系统:

1
sudo  apt-get  install  ia32-libs

  3) Redhat系统:与Centos命令一一致;

  但是,RedHat系统默认是需要注册才能使用yum的在线安装功能的,如果没有注册系统会提示:

1
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

  不注册也可以配置网络yum源,命令符输入ping www.baidu.com测试能否链接;

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~] # ping www.baidu.com      
PING www.a.shifen.com (183.232.231.172) 56(84) bytes of data.
64 bytes from 183.232.231.172: icmp_seq=1 ttl=128  time =60.8 ms
64 bytes from 183.232.231.172: icmp_seq=2 ttl=128  time =71.7 ms
64 bytes from 183.232.231.172: icmp_seq=3 ttl=128  time =59.2 ms
64 bytes from 183.232.231.172: icmp_seq=4 ttl=128  time =38.2 ms
^C
--- www.a.shifen.com  ping  statistics ---
4 packets transmitted, 4 received, 0% packet loss,  time  4499ms
rtt min /avg/max/mdev  = 38.264 /57 .518 /71 .743 /12 .116 ms
[root@localhost ~] #

  如上表示可以链接外网,继续下一章节 

 4) Redhat系统使用Centos yum网络源

1
2
3
4
5
6
7
[root@localhost ~] # cd /etc/yum.repos.d/
[root@localhost yum.repos.d] # ll
总用量 4
-rwxr-xr-x. 1 root root  726 3月  28 00:18 rhel- source .repo
[root@localhost yum.repos.d] # mkdir bak_repo         #创建repo备份文件夹#
[root@localhost yum.repos.d] # mv *.repo bak_repo/    #将所有repo文件移动至备份文件夹,有些系统可能会有多个repo文件,所以是mv *#
[root@localhost yum.repos.d] # touch network.repo     #创建新的repo文件#[root@localhost yum.repos.d]# chmod 755 network.repo #添加权限#

 

  因为旧版repo是使用的redhat源,所以需要验证是否注册;对此我们在新的repo文件中需要指向其他yum源,这里附带一份目前常用的yum网络源

mirrors.stuhome.net

mirrors.ustc.edu.cn

ftp.jaist.ac.jp

mirror.bjtu.edu.cn

mirrors.163.com

  以上地址均可以通过浏览器直接访问,举例说明mirros.163.com的yum源配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost yum.repos.d] # vim network.repo
[base]
name=CentOS-$releasever - Base
baseurl=http: //mirrors .163.com /centos/6/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/updates/ $basearch/
gpgcheck=1
gpgkey=http: //mirrors .163.com /centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-$releasever - Extras
baseurl=http: //mirrors .163.com /centos/6/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/centosplus/ $basearch/
gpgcheck=1
enabled=0

   保存退出,这里如果是Redhat5.x、Redhat7.x系列的版本,对应的"http://mirrors.163.com/centos/"地址后的数字也需要跟随版本改变

复制代码
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: base extras updates
Cleaning up Everything
[root@localhost yum.repos.d]# yum install xulrunner.i686
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
……省略
复制代码

   如上所示,红字部分提示系统未注册;虽然有这些提示,但不会影响yum命令的正常执行,yum install xulrunner.i686后静待安装完成即可;

  可能报错:

http://mirrors.163.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

   这表示这个yum网络源不稳定,或您的虚拟机访问这个域名受到限制,可以尝试更换其他yum网络源(第一章第4节);

   可以使用[curl -o ip地址 文件名称]测试是否能访问这个地址;多测试几个yum 网络源,找到能用的位置

[root@localhost yum.repos.d]# curl http://mirrors.163.com/centos/6/os/x86_64/repodata/repomd.xml -o test.xml   
curl: (7) couldn't connect to host
[root@localhost yum.repos.d]# 

  最坏的情况,都链接不上;那可能是网络问题了,要么解决下网络问题,或者可以参考第二大章节

二、局域网(本地)配置方案

  材料: Linux x64位系统原装光盘,或同内核版本的64位镜像文件

  1) 上传镜像文件

    这一步没啥解释的,能传上去就行,注意不要是rar之类的windows格式,不然在linux系统下不好解压;

    文章中举例说明,本人文件上传至/media目录下;后续操作与目录都在此目录

  2) 挂载镜像文件

    linux无法识别iso镜像,需要挂载后才能访问;由df -h命令查看系统是否已经挂载镜像

[root@localhost yum.repos.d]# df -h
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda3              16G  8.6G  6.2G  59% /
tmpfs                 935M   72K  935M   1% /dev/shm
/dev/sda1             291M   37M  240M  14% /boot

     如上表示当前系统还未挂载镜像,因为文件系列列没有一项指向iso文件,可以使用mount命令挂载镜像文件

复制代码
[root@localhost yum.repos.d]# cd /media
[root@localhost media]# ls -hl
总用量 3.5G
-rwxr-xr-x. 1 root root 3.5G 12月 16 2015 rhel-server-6.4-x86_64-dvd.iso
[root@localhost media]# 
[root@localhost media]# mount -o loop rhel-server-6.4-x86_64-dvd.iso /media    #只读方式挂载镜像,直接mount可能报错镜像是只读文件#
[root@localhost media]# df -h
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda3              16G  8.6G  6.2G  59% /
tmpfs                 935M   72K  935M   1% /dev/shm
/dev/sda1             291M   37M  240M  14% /boot
/media/rhel-server-6.4-x86_64-dvd.iso
                      3.5G  3.5G     0 100% /media
复制代码

    以上最后的df -h命令显示则表示当前系统已经挂载/media/rhel-server-6.4-x86_64-dvd.iso镜像文件到/media目录下;

    刷新当前目录(重新cd到当前目录),此时可以看到/media目录即为挂载的镜像文件目录

复制代码
[root@localhost media]# cd /media    #重新进入挂载的目录才能看到挂载的文件#
[root@localhost media]# ls
EFI      EULA_pt           README                    RELEASE-NOTES-it-IT.html  RELEASE-NOTES-ru-RU.html  RPM-GPG-KEY-redhat-release
EULA     EULA_zh           RELEASE-NOTES-as-IN.html  RELEASE-NOTES-ja-JP.html  RELEASE-NOTES-si-LK.html  ScalableFileSystem
EULA_de  GPL               RELEASE-NOTES-bn-IN.html  RELEASE-NOTES-kn-IN.html  RELEASE-NOTES-ta-IN.html  Server
EULA_en  HighAvailability  RELEASE-NOTES-de-DE.html  RELEASE-NOTES-ko-KR.html  RELEASE-NOTES-te-IN.html  TRANS.TBL
EULA_es  images            RELEASE-NOTES-en-US.html  RELEASE-NOTES-ml-IN.html  RELEASE-NOTES-zh-CN.html
EULA_fr  isolinux          RELEASE-NOTES-es-ES.html  RELEASE-NOTES-mr-IN.html  RELEASE-NOTES-zh-TW.html
EULA_it  LoadBalancer      RELEASE-NOTES-fr-FR.html  RELEASE-NOTES-or-IN.html  repodata
EULA_ja  media.repo        RELEASE-NOTES-gu-IN.html  RELEASE-NOTES-pa-IN.html  ResilientStorage
EULA_ko  Packages          RELEASE-NOTES-hi-IN.html  RELEASE-NOTES-pt-BR.html  RPM-GPG-KEY-redhat-beta
[root@localhost media]# 
复制代码

  3) 配置本地yum repo文件

  创建repo备份目录,将原repo文件移动至备份文件夹

[root@localhost media]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总用量 4-rwxr-xr-x. 1 root root  726 3月  28 00:18 rhel-source.repo
[root@localhost yum.repos.d]# mkdir bak_repo
[root@localhost yum.repos.d]# mv * bak_repo/

  创建指向本地的repo文件,baseurl、gpgkey中指向的目录如果有空格,需要"\"转译

复制代码
[root@localhost yum.repos.d]# touch basic.repo 
[root@localhost yum.repos.d]# chmod 755 basic.repo 
[root@localhost yum.repos.d]# vim basic.repo 
[base]
name=RedHatEnterpriseLinu  #自定义名称,随便写#
baseurl=file:///media/    #baseurl指向挂载的目录   
enabled=1
gpgcheck=0
gpgkey=file:///media/RPM-GPG-KEY-redhat-release
复制代码

  保存退出,接下来测试本地yum源有效性

  4) 测试本地yum源

  View Code

  OK,本地yum配置成功;

  以上测试过程常见目标源码包与本地不匹配等问题,通常是由于安装的系统与镜像文件不是同内核版本导致;建议更换与镜像文件一致的系统版本或更换镜像文件

三、yum解析,常用命令说明

  Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  Yum为了解决软件包的依赖关系存在。yum源就相当于一个文件位置(或者称为目录项),当我们使用yum安装软件,系统会自动遍历搜索/etc/yum.repos.d/目录下的所有repo文件,遍历读取repo文件中指向的文件位置或网络位置,直到搜索到可用的包。当安装的包需要安装依赖软件才能进行时,yum会根据repo源中定义好的路径查找依赖软件,并将依赖软件安装好(同样的rpm命令安装会报错未安装xxxxx)

   常用命令举例

  以下命令省略yum前缀,更多信息使用yum –help参考官方说明

 install [包名称]

 安装软件

 remove [包名称]

 移除/删除 软件

 info [包名称]

 查看软件包详情

 deplist [包名称]

 显示软件包依赖关系

 list installed

 列出所有已安装的包
 update [包名称]  更新包
 search [包名称] 查找、搜索包
 list   列出所有可安装和可更新的包
 list extras 列出所有已安装且不在资源库的包(外部资源安装、源码安装等)
 provides [关键词]  搜索特定包文件名[特定情形常用,比如已知so文件查找含有这些so的软件包]
 repolist   显示资源库的配置
 reinstall [包名称] 重新安装软件包

  其他可选参数

-e

静默执行,安装常用

-t

忽略错误

-R

[分钟] 设置等待时间

-y

自动应答,默认yes

check-update

检查可更新的包

--nogpgcheck

忽略GPG验证

--skip-broken

 忽略依赖问题,yum默认是安装所有依赖项,如果忽略,将只安装当前包

博主原链接:https://www.cnblogs.com/Wherebolezi/p/4626670.html
支持博主,请访问和关注,谢谢,互相学习,互相进步!
  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值