Centos系统yum无法使用,出现错误ImportError: /usr/lib64/librepo.so.0: undefined symbol: curl_multi_wait的问题解决

目录

一、现象说明

二、问题分析

三、解决过程

1、查看库的依赖关系

2、查看库所在的正确位置        

3、设置库索引的环境变量

四、验证问题解决

1、再次使用yum基本命令

2、使用yum安装软件来验证

五、yum介绍

1、yum是什么

2、基本概念

(1)仓库(Repository)

(2)软件包(Package)

3、主要功能

(1)安装软件包

(2)更新软件包

(3)删除软件包

(4)查询软件包

(5)解决依赖关系


一、现象说明

        在虚拟机的centos系统使用yum安装程序时出错,进一步测试,发现执行yum相关的基本命令,也出现错误,比如“查看yum版本的命令”:

        yum –version

        也会报错,如下图示:

        由此看出,yum工具本身运行有错误。

二、问题分析

        从第一章的图中可以看出,报错的第一个主要是如下错误:

        “ImportError: /usr/lib64/librepo.so.0: undefined symbol: curl_multi_wait”,

        估计这个是错误的根源。

        经过分析,出现这个报错的原因是未找到动态库引用的位置,或是链接了错误的libcurl版本引起的。

三、解决过程

1、查看库的依赖关系

        使用ldd -r 查看库的依赖关系,命令如下:

        # ldd -r /usr/lib64/librepo.so.0

        结果如下图所示:

        可以看到,由于机器上服务的需要,将库链接的目录指向了其他路径下的libxml2.so.2。因此,可以基本确定,应该是路径错误或者没有把路径放入环境变量,导致找不到库文件libxml2.so.2,而导致的问题。

2、查看库所在的正确位置

         采用如下命令:

        # find / -name libxml2.so.2

        结果如下图示:

        

3、设置库索引的环境变量

        将/usr/lib64加入到环境变量LD_LIBRARY_PATH中,使用如下命令:

        # export LD_LIBRARY_PATH=/usr/lib64:LD_LIBRARY_PATH

四、验证问题解决

1、再次使用yum基本命令

        # yum –version

        结果如下图:

        可以看出,yum命令可以正常使用。

2、使用yum安装软件来验证

        再次测试使用yum安装nload命令,操作如下:

[root@ecs-52a1 vidisit]# nload
bash: nload: command not found
[root@ecs-52a1 121yunwei]#
[root@ecs-52a1 121yunwei]# yum install nload
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                                   | 8.9 kB  00:00:00
 * base: ftp.sjtu.edu.cn
 * epel: mirror.nju.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
base                                                                                                                                   | 3.6 kB  00:00:00
epel                                                                                                                                   | 4.3 kB  00:00:00
extras                                                                                                                                 | 2.9 kB  00:00:00
updates                                                                                                                                | 2.9 kB  00:00:00
(1/2): epel/x86_64/updateinfo                                                                                                          | 1.0 MB  00:00:00
(2/2): epel/x86_64/primary_db                                                                                                          | 8.7 MB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package nload.x86_64 0:0.7.4-4.el7 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
==============================================================================================================================================================
 Package                             Arch                                 Version                                    Repository                          Size
==============================================================================================================================================================
Installing:
 nload                               x86_64                               0.7.4-4.el7                                epel                                70 k
 
Transaction Summary
==============================================================================================================================================================
Install  1 Package
 
Total download size: 70 k
Installed size: 176 k
Is this ok [y/d/N]: y
Downloading packages:
nload-0.7.4-4.el7.x86_64.rpm                                                                                                           |  70 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : nload-0.7.4-4.el7.x86_64                                                                                                                   1/1
  Verifying  : nload-0.7.4-4.el7.x86_64                                                                                                                   1/1
 
Installed:
  nload.x86_64 0:0.7.4-4.el7
 
Complete!
[root@ecs-52a1 121yunwei]#
[root@ecs-52a1 121yunwei]#

        由此可以看出,yum安装应用程序也正常。

        问题得到解决。

五、yum介绍

1、yum是什么

    yum(Yellowdog Updater Modified)是 CentOS(以及其他基于 RPM 的 Linux 发行版,如 Red Hat Enterprise Linux 和 Fedora)中的一个包管理工具。它允许用户自动获取、安装、更新和删除软件包。

2、基本概念

(1)仓库(Repository)

    yum 可以从一个或多个仓库中获取软件包。仓库是一个包含许多软件包和元数据的服务器。元数据描述了软件包之间的依赖关系和其他信息。

(2)软件包(Package)

    软件包是一个已编译和打包的程序或库,可以很容易地安装到 Linux 系统上。

3主要功能

1)安装软件包

    使用 yum install package_name 命令可以自动下载、安装软件包及其所有依赖项。

2)更新软件包

    yum update 命令可以更新系统上已安装的所有软件包到最新版本。如果只想更新特定的软件包,可以使用 yum update package_name

3)删除软件包

    yum remove package_name 命令可以删除已安装的软件包。

4)查询软件包

    yum 提供了许多查询选项,如 yum list(列出所有可用软件包)、yum info package_name(显示特定软件包的详细信息)等。

5)解决依赖关系

    yum 能够自动处理软件包之间的依赖关系,确保在安装或更新软件包时所有必要的依赖项都已满足。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值