centos libc.6.so 链接出错

CentOS7.2环境下离线部署lftp的完整依赖解决方案 本文详细介绍了在CentOS7.2环境下离线部署lftp的完整解决方案,包括依赖分析、文件收集与整理、生产环境部署实战及常见问题处理。针对离线安装的核心挑战,提供了自动化脚本和标准化目录结构,确保依赖树的完整性,帮助运维人员高效解决文件传输需求。 阅读详情

学技术怎么能不会用服务器,阿里云服务器现8折优惠,还有更多优惠券限量发放
https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=7czske1k&utm_source=7czske1k

问题

服务器用的是centos 5.8,出现过几次libc.6.so的基础库在用yum安装软件时候链接被替换了,然后所有系统命令都不能使用了。提示如下图:

Linux许多命令都是依赖这个C语言的动态链接库,在centos里,这是一个软链,被替换后,被替换到新版本的动态库时,会出现这个问题。我这里是从版本2.5被换成了2.12(截图时已修复)。

原因

从google搜索到这样的答案:

The loader on your system does not support the new Linux ABI. Until relatively recently, Linux ELF binaries used the System V ABI. Recently, in support of STT_GNU_IFUNC, the Linux ABI was added. You would have to update your system C library to have a loader that support STT_GNU_IFUNC, and then it will also recognize ELF objects with the Linux ABI type.

也就是说系统版本的动态库加载器太旧了,不支持新版本的动态库,要嘛升级系统的加载器,要嘛恢复到旧的库。

用LD_PRELOAD修复

出现问题后所有几乎所有命令都不能使用,原因就是没办法加载那个新版本的动态库,而LD_PRELOAD环境变量则可以在运行命令前指定加载的动态库。

LD_PRELOAD 是这样的一个环境变量:它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库。该功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量,我们 可以在主程序和其动态链接库的中间加载别的动态链接库,甚至覆盖正常的函数库。

执行如下命令,直接就可以恢复了。不过执行命令的必需是有root权限的用,sudo命令还是用不了的(可能还要加载其他动态库)。

root# LD_PRELOAD=/lib64/libc-2.5.so ln -sf /lib64/libc-2.5.so /lib64/libc.6.so

用sln命令修复

应该很多人都不知道这个命令,这个命令在/sbin/目录下,man的描述是这样的。

sln symbolically links dest to source. It is statically linked, needing no
dynamic linking at all. Thus sln is useful to make symbolic links to dynamic
libraries if the dynamic linking system for some reason is nonfunctional.

看起来就是为了修复动态库的问题而做的,它是一个静态链接生成的命令,不依赖任何的动态库,使用用方法跟ln是一样的。

root# /sbin/sln -sf /lib64/libc-2.5.so /lib64/libc.6.so

关于loader

老外对这个问题的回答有一句是这样的:

Ah, I didn’t realize you had replaced the system C library without also replacing the loader, or I would have been more specific in my advice.

也就是,要升级libc.6.so要同时升级动态库的loader。看了一下我系统上的ld动态库版本也是2.5,可能要升级libc.6.so就要将ld升级到同样的版本。这边系统恢复了,不敢再去动,没有再做尝试,以后遇到再补充。

LibcSearcher安装与实战:快速定位CTF Pwn题libc版本 在二进制安全与CTF竞赛中,动态链接库(libc)是程序运行的核心组件,其版本差异直接影响函数偏移量。通过理解libc的加载原理与内存布局,安全研究人员能够利用信息泄露漏洞获取函数地址,进而计算基址。传统手动匹配版本的方法效率低下,而自动化工具通过构建指纹数据库,将多函数偏移组合作为查询条件,实现了快速精准的版本识别。这一技术显著提升了漏洞利用脚本的通用性与开发效率,尤其在堆利用与ROP链构造场景中价值突出。本文聚焦LibcSearcher这一热门工具,针对Python3环境下的安装难题,提供从依赖配置、数 阅读详情

相关推荐

CentOS 6 下源码编译 FFmpeg 实战指南

FFmpeg 是 Linux 平台最主流的音视频处理工具,其核心能力依赖于底层编解码库(如 x264、fdk-aac)与系统工具链(GCC、glibc、yasm)的深度协同。在 CentOS 6 这类老旧发行版中,因 glibc 2.12、GCC 4.4.7 等组件版本过低,官方包管理器无法提供可用版本,静态二进制亦因 ABI 不兼容而直接崩溃。此时,**源码编译**成为唯一可控路径——它允许精准适配旧内核与C标准,规避 C++11 等新特性报错,并通过静态链接生成仅依赖系统基础库的纯净可执行文件。该方案广

weixin_34043301的博客 389

centos6.x安装kibana遇到的坑libc.so.6和libstdc++.so.6

公司要安装kibana时,一开始没注意是centos6.x的版本,安装kibana一波操作完之后启动竟然报错,查看后发现是少了一些库。方案一:下载​ ​http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/​。下载:​ ​https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz​。解决libstdc++.so.6有两种方案,第一种方案执行比较慢,建议直接使用方案二。【二、解决libstdc++.so.6】

qq_31107685的博客 2666

CentsOS系统glibc-2.12升级到glibc-2.14

前提:有一个项目是给安卓生成apk包的服务,简称打包服务。因为测试机上centos默认的glibc版本是2.12,好多程序运行出错,保障服务运行故进行升级 查看系统glibc库版本可用下面命令: # strings /lib64/libc.so.6 |grep GLIBC 或者 # getconf -a |grep glibc -i ldd命令也可以查看: # ldd --ver...

Vigo2best的博客 2594

centos7升级glibc2.25避坑指南

centos7升级glibc

SerMa的博客 2万+

ScanNet数据集下载全攻略:从申请到解析的保姆级教程(含常见问题解决)

本文提供了ScanNet数据集从申请授权到下载、解析的完整实战指南。针对这个大规模室内RGB-D数据集,详细介绍了官方申请流程、优化下载策略、数据验证方法,并重点解决了深度图解析等常见问题,帮助三维视觉研究者高效获取和使用这一宝贵资源。

5f4d3s2a1q的博客 622

万达电影 com.wandafilm.app headers check

万达电影 安卓逆向 抓包 逆向 check

weixin_43786514的博客 1438

记一次误操作(修改centos系统下/lib64/libc.so.6文件名) 之后续

切换到命令行界面后,root无法登录,报密码错误,即使我进入单用户模式改了密码也是一样的。另外还有32位和64位的问题,以现在的电脑配置推荐安装64位,文件中包含了“x86_64”的就是64位版本,否则为32位。关于右边的“软件选择”,默认的是最小安装,也就是没有图形界面,只有命令行(据说安装好了也可以联网下载图形界面,但这不如直接装好),:就是一个光盘CentOS系统,可通过光盘启动电脑,启动出CentOS系统,也有图形界面,也有终端。可以猜出来左边的是组的RAID,存放的数据,右边的是单独的系统盘。

计算之道的博客 439

【虚拟化生态平台】虚拟化平台esxi挂载USB硬盘

虚拟化平台安装好之后,一般情况下,只有一个硬盘在工作,其他的外接硬盘(我的只有一个ssd硬盘,其他的均是usb外接,SATA接口的硬盘是否这样我暂时不清楚哈)没有在工作,但是一个硬盘明显不够我们使用的,所以我们需要去挂载外接的硬盘来扩容。...

Rubik Blog 4835

记一次误操作-修改centos系统下/lib64/libc.so.6文件名

再进入 /mnt/sysimage/lib,看到了lib.so.6.bak,看来刚才操作的时候,文件改名是成功了。libc.so.6是bash这个shell依赖的重要动态库之一,当我把这个动态库(链接)改名之后,shell找不到这个库了,所以就报找不到libc.so.6,并拒绝执行多数shell指令,也中断了ssh连接请求,而在整个过程,操作系统的kernel却还是活的,所以我原先连接的两个ssh进程还有反应(对回车、pwd等小数指令有响应),但却不能新建ssh连接。然后关掉机器,拔掉U盘,再重启机器。

计算之道的博客 889

我爬取了某非法网贷后台系统数据,终于知道什么叫做利滚利滚利滚利了

我爬取了非法贷款的后台网站!

weixin_44042821的博客 2882

Kylin操作系统下OpenLDAP安装

Kylin操作系统下OpenLDAP安装

跟着大数据和AI去旅行 1612

CentOS操作系统libc.so.6: `GLIBC_2.14‘ not found问题过程

在系统执行strings /lib64/libc.so.6 |grep GLIBC_命令,查看当前新系统支持的glib版本,没有2.14版本,需要下载进行升级。分析原因为系统的glib版本太低,执行python命令时,系统调用了GLIBC_2.14版本导致报错。使用xshell登陆Linux后查看jdk版本提示。上面编译没有报错,再次查看已经支持2.14了。执行查看jdk版本号的命令行已经正常了。执行configure。

海贼王的博客 1466

常用元器件使用方法36:USB转串口芯片CH340X

本文介绍了CH340X芯片的使用方法

snmplink的博客 2839

CentOS 6安装honeyd

环境 CentOS 6 安装honeys所需软件 arpd-0.2.tar.gz libdnet-1.7.tar.gz zlib-1.2.8.tar.gz glibc-2.14.tar.gz libevent-1.4.14b-stable.tar.gz honeyd-1.5c.tar.gz libpcap-1.1.1.tar.gz 新建一个目录,将以上压缩包放到里边 解压并安装libdnet-1....

孤的博客 1272

如何合法抓取TikTok视频信息和评论:完整Python爬虫教程

尽管TikTok没有开放的公共API来直接抓取视频内容和评论,开发者仍然可以通过合法的方式使用第三方API工具来获取公开数据。无论使用什么工具,都应当严格遵守TikTok的使用条款和当地的隐私法规,确保数据抓取行为符合规定。通过本文介绍的TikTok-Api库和Python技术,你可以合法地抓取公开的视频信息和评论,并进行数据存储与分析。使用这些技术时,务必确保抓取行为不会侵犯用户隐私,并遵守平台的API使用规定。

2201_76125261的博客 1710

数字后端:版图基础seal ring

seal ring结构是为了防止划片或封装对芯片造成破坏,从而在芯片与划片道(scribe line)之间添加的一圈保护环

m0_61544122的博客 1万+

如何升级libc.so.6以及升级后引发的灾难

什么是libc/glibc?,他们有啥用? 不知道的话,你可以点右上角的×了,你还是先思考一下为什么要升级?一定要升级吗?没别的办法了? glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。 首先说一下我为什么会去升级glibc,大概就是年少无知吧。。。 硬件环境:RK3399 软件环境:aarch64 cento

weixin_38452632的博客 4561

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

glibc降级后怎么恢复 linux_Linux(CentOS)GLIBC出错补救方式

出于各种原因,我玩坏了我的系统.........主要出错原因是更改 /usr/lib64 下的 libc.so.6 等文件引起,具体错误及补救方式附上,希望可以帮到心里失火后来人:首先,不要随便重新启动!!!因为libc出错后很容易导致系统无法启动,关了机会很麻烦。其次也尽量不要关闭正在运行的控制台,因为很多东西还可以补救。错误严重的可能连基本命令都没法使用# lsls: relocation e...

weixin_39794340的博客 1136

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

centos6.5系统升级glibc时出错导致不管输入什么命令都是 Segmentation fault 解决

因为升级glibc-2.18结果导致系统出现错误不管输入什么命令都是段错误: [root@node04 ~]# ls Segmentation fault [root@node04 ~]# vim Segmentation fault 出现这种情况如果是虚拟机没有重要的东西可以直接重装 解决办法: 挂载光盘,设置从光盘启动(系统开机后按F2进入): 选择完从光

Limenghui0614的博客 7252

relocation error: /lib64/libm.so.6: symbol __get_cpu_features, version GLIBC_PRIVATE not defined in

主要功能:在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。lrwxrwxrwx. 1 root root 21 12月 14 21:46 ld-linux-x86-64.so.2 -> /usr/lib64/ld-2.17.so。-rwxr-xr-x. 1 root root 31461 12月 14 19:41 libutil-2.18.so。

路虽远,行则将至 2899

ldconfig导致的系统问题

CentOS 6.5 一台服务器上要装一些软件,但是这些

Vega 2万+

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found 问题处理

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found 问题处理的心路历程 最近在搞数据仓库的项目,需要搞个etl工具,想在服务器上布个kettle,项目服务器上已经布了很多服务,包括应用,算法,调度平台,监控等。其中一个算法模型是“fasttext”。 在网上找了篇kettle的centos7布署教程,kettle本来是不需要做多余的安装配置,只需把压缩包上传到服务器,解压即可,重要

xiongmeisi的博客 1623

CentOS 6 LAMP 部署生存指南:离线环境下的 Apache+PHP+MySQL 深度集成

LAMP 是 Linux、Apache、MySQL 和 PHP 构成的经典 Web 技术栈,其核心价值在于开源协同、低耦合部署与跨版本兼容能力。在工业控制、金融批处理等存量系统中,CentOS 6 仍广泛承载关键业务,但面临 yum 源失效、glibc 版本锁死、SELinux 策略僵化等现实约束。此时,LAMP 不再是标准化安装流程,而是围绕动态库链接(如 libphp5.so 依赖 libxml2.so.2)、socket 文件 SELinux 上下文(mysqld_db_t)、Apache 模块加载顺

weixin_34295316的博客 399

Linux动态链接器ld-linux-x86-64.so.2:程序启动的幕后总导演

动态链接是现代操作系统中程序运行的核心机制,它允许可执行文件在运行时加载所需的共享库,而非在编译时静态嵌入。其原理是通过一个专门的动态链接器(如Linux上的ld-linux-x86-64.so.2),在程序启动前解析依赖、加载共享库并完成符号重定位,从而将函数调用地址与内存中的实际库代码绑定。这项技术的价值在于显著减少了程序体积、便于库的独立更新与维护,并提升了内存使用效率。其应用场景广泛,从桌面应用到服务器软件,再到容器化部署,都依赖于此机制。在实际工程实践中,理解动态链接器的工作流程,特别是其库搜索路

weixin_34295316的博客 417

Linux动态链接库缺失问题:从libxml2.so.2错误到系统级解决方案

动态链接是Linux程序运行的核心机制,它允许程序在运行时加载共享库(.so文件),从而减少代码冗余并便于更新。其工作原理基于系统预设的库搜索路径,包括编译时指定的RPATH、环境变量LD_LIBRARY_PATH、系统缓存/etc/ld.so.cache以及默认库目录。这一机制的技术价值在于提升资源利用效率和软件维护性,广泛应用于各类依赖特定功能库的软件,如处理XML文档的libxml2。当程序因找不到libxml2.so.2等库而报错时,本质是系统在动态链接过程中,于预设路径中定位共享库失败。解决此类问

weixin_34345753的博客 372

linux 6.5没有ftp命令,CentOS执行ftp命令提示ftp:command not found解决方法

在使用centos时, 要用ftp上传文件, 但是一到脚本的ftp命令就会出错:复制代码代码如下:ftp: command not found原因是否ftp客户端没有安装上, 要重新安装一下就可以了.解决方法,去官方进入 http://mirror.centos.org/centos/5/os/i386/CentOS/ 找到ftp的rpm package的地址然后执行安装.5.x版本的执行:复制代...

weixin_29340327的博客 327
上一篇: QQ邮箱操作模拟
下一篇: ELK安装配置
AstrayLinux
博客等级 码龄15年 55粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值