You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Ubuntu中缺失的SO文件复制到CentOS并全局可用?

解决CentOS中Python模块缺失libGL.so.1的问题

从Ubuntu提取缺失的SO文件

  • 在Ubuntu终端执行命令定位libGL.so.1的路径:
    ldconfig -p | grep libGL.so.1
    
    输出示例:libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
  • 查看该软链接对应的真实文件:
    ls -l /usr/lib/x86_64-linux-gnu/libGL.so.1
    
    输出示例:lrwxrwxrwx 1 root root 14 Aug 1 10:00 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.7.0
  • 将相关文件复制到CentOS的指定目录(比如/opt/ubuntu-libs/),用scp命令:
    scp /usr/lib/x86_64-linux-gnu/libGL.so.* your-centos-user@centos-ip:/opt/ubuntu-libs/
    

在CentOS配置全局可用

临时生效(仅当前终端)

执行以下命令:

export LD_LIBRARY_PATH=/opt/ubuntu-libs:$LD_LIBRARY_PATH

永久生效(所有用户)

两种方式可选:

  1. 添加系统环境变量:
    echo 'export LD_LIBRARY_PATH=/opt/ubuntu-libs:$LD_LIBRARY_PATH' >> /etc/profile
    source /etc/profile
    
  2. 更新动态链接库缓存(更推荐):
    echo '/opt/ubuntu-libs' > /etc/ld.so.conf.d/ubuntu-libs.conf
    ldconfig
    

注意事项

  • 确保Ubuntu和CentOS的系统架构一致(均为x86_64或arm),否则SO文件无法兼容
  • 若还有其他依赖缺失,可在Ubuntu上用ldd分析Python模块的SO文件:
    ldd $(python -c "import cv2; print(cv2.__file__)")
    
    提取所有缺失的依赖文件后重复上述步骤
  • 跨发行版复制SO仅为临时方案,优先用CentOS原生包管理器安装依赖,比如:
    yum install mesa-libGL
    

内容的提问来源于stack exchange,提问作者Soumya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:15:44