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

CentOS7更新glibc时libcxx/libcxxabi依赖/usr/sbin/ldconfig报错

问题描述

CentOS7系统执行系统更新时遇到libc相关依赖报错,检索公开技术资料未找到对应解决方案,多轮排查后问题仍存在。
报错核心表现:系统将glibc从2.17-325.el7_9版本升级至2.17-326.el7_9版本时,已安装的libcxx-11.0.1-1.el7.x86_64、libcxxabi-11.0.1-1.el7.x86_64包所需的/usr/sbin/ldconfig依赖无法被识别,导致yum更新流程中断。

已尝试操作
  • 执行yum install glibc*安装所有glibc相关软件包
  • 安装yum-utils工具集,执行yum update yum*更新所有yum相关组件,通过package-cleanup --dupes查询系统内重复安装的软件包、执行package-cleanup --cleandupes清理重复包
  • 删除/etc/ld.so.cache动态链接库缓存文件后,执行ldconfig命令重建缓存
报错完整输出
[root@test etc]# yum update
Loaded plugins: langpacks, rhnplugin
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package glibc.x86_64 0:2.17-325.el7_9 will be updated
---> Package glibc.x86_64 0:2.17-326.el7_9 will be an update
---> Package glibc-common.x86_64 0:2.17-325.el7_9 will be updated
---> Package glibc-common.x86_64 0:2.17-326.el7_9 will be an update
---> Package glibc-devel.x86_64 0:2.17-325.el7_9 will be updated
---> Package glibc-devel.x86_64 0:2.17-326.el7_9 will be an update
---> Package glibc-headers.x86_64 0:2.17-325.el7_9 will be updated
---> Package glibc-headers.x86_64 0:2.17-326.el7_9 will be an update
---> Package kernel-headers.x86_64 0:3.10.0-1160.62.1.el7 will be updated
---> Package kernel-headers.x86_64 0:3.10.0-1160.66.1.el7 will be an update
--> Processing Dependency: /usr/sbin/ldconfig for package: libcxx-11.0.1-1.el7.x86_64
--> Processing Dependency: /usr/sbin/ldconfig for package: libcxxabi-11.0.1-1.el7.x86_64
--> Finished Dependency Resolution
Error: Package: libcxx-11.0.1-1.el7.x86_64 (installed)
Requires: /usr/sbin/ldconfig
Removing: glibc-2.17-325.el7_9.x86_64 (@spacewalk_centos7)
Not found
Updated By: glibc-2.17-326.el7_9.x86_64 (spacewalk_centos7)
Not found
Error: Package: libcxxabi-11.0.1-1.el7.x86_64 (installed)
Requires: /usr/sbin/ldconfig
Removing: glibc-2.17-325.el7_9.x86_64 (@spacewalk_centos7)
Not found
Updated By: glibc-2.17-326.el7_9.x86_64 (spacewalk_centos7)
Not found
[root@test etc]# rpm -qa | grep glibc
glibc-common-2.17-325.el7_9.x86_64
glibc-2.17-325.el7_9.x86_64
glibc-devel-2.17-325.el7_9.x86_64
glibc-headers-2.17-325.el7_9.x86_64
故障原因

这个问题不是系统中真的缺失/usr/sbin/ldconfig文件,本质是两层元数据异常:

  • 当前对接的Spacewalk自建源里,glibc 2.17-326.el7_9版本的包元数据缺了Provides: /usr/sbin/ldconfig字段,yum做依赖校验的时候,判定升级后的glibc包不提供ldconfig文件
  • 第三方源安装的libcxx、libcxxabi 11.0.1版本RPM包,依赖标记写死了绝对路径/usr/sbin/ldconfig,没有做通用兼容,识别不到新旧版本glibc实际都自带这个文件
修复操作

按顺序执行以下步骤即可解决问题,操作不会删除系统实际文件,生产环境操作前建议先打系统快照:

  1. 先验证ldconfig文件实际存在,执行命令:
    /usr/sbin/ldconfig -V
    
    正常会输出ldconfig的版本信息,证明文件本身无损坏、无缺失。
  2. 清理本地yum缓存,排除旧元数据干扰:
    yum clean all && rm -rf /var/cache/yum/*
    
  3. 清理缓存后重新执行yum update测试,如果还是报相同错误,执行以下命令只删除RPM数据库中libcxx、libcxxabi的记录(不会删除系统上的实际程序文件):
    rpm -e --justdb libcxx-11.0.1-1.el7.x86_64 libcxxabi-11.0.1-1.el7.x86_64 --nodeps
    
  4. 重新安装libcxx、libcxxabi包,让RPM重新识别当前系统的依赖关系:
    yum install -y libcxx-11.0.1-1.el7 libcxxabi-11.0.1-1.el7
    
  5. 最后重新执行系统更新即可正常完成流程:
    yum update -y
    

注意:操作过程中不要直接删除glibc相关包,不要不带--justdb参数强制卸载libcxx/libcxxabi,避免导致系统动态链接库异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:09:19