1. libc.so.6介绍
/usr/lib/libc.so.6是glibc的软链接,不同的平台可能路径会不一样。
使用命令查看会看到:

[root@farmer:~]$ls -l /lib/libc.so.6
lrwxrwxrwx 1 root root 11 Jan 1 22:23 /lib/libc.so.6 -> libc-2.9.so

glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc,所以说绝大部分操作命令都缺少不了它。
2. 误删处理
如何误删了libc.so.6,大部分系统命令将无法执行,ssh登录系统也不成功,只会无休止的提示以下错误:

error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

这种情况下,大部分命令已经不能执行了,只能执行例如cd,echo等小部分命令,而实用的cp,mv则不可用
经过各种百度,得到解决方法(而此种方法的前提是ssh还没断开,如果ssh已断开则无法重新连接上,得使用另外的方法用光盘重启进入急救模式):
在同版本系统上查看/lib/libc.so.6得知是属于libc-2.9.so的软链接,因此,libc-2.9.so文件肯定还是存在的,误删的只是软链接而已,但此时想用ln命令重新建立软链接是失败的,但是可以这样强制设置变量就能执行成功!

LD_PRELOAD=/lib/libc-2.9.soln -s /lib/libc-2.9.so /lib/libc.so.6

LD_PRELOAD为glibc临时指定的库,这样正确执行后libc.so.6就正确恢复了

3. 后续 
glibc是一个非常底层的库,bash也依赖她,所以,如果把这个库干掉了,基本上啥事都干不了了,但是为啥前面设置一下LD_PRELOAD变量 就可以了呢?是这样的,LD_PRELOAD可以影响程序的运行时的链接(Runtime linker), 它允许你定义在程序运行前优先加载的动态链接库,之前把libc.so.6这个软连接给干掉了,所以系统找不到这个库了,但是通过LD_PRELOAD设置一下glibc这个库的真实地址就可以解决这个问题了

转载于:https://www.cnblogs.com/linux-farmer/p/7152879.html

Linux误删C基本运行库libc.so.6处理方法相关推荐

  1. linux中如何运行html文件路径问题,Linux中如何查询运行文件的全路径的方法

    在linux中,有些地方需要使用绝对路径,对于一些命令,如java.mysql等,需要使用到运行文件所在的路径,给大家介绍一个命令,来查询这个路径. which 可以通过which查询运行文件的所在路 ...

  2. linux中csh怎么运行,bash csh 设置环境变量 方法例子

    1.对于csh: 命令:setenv FILTERS FILTERBIN.RES 2.对于bash: export FILTERS=FILTERBIN.RES 注意:若是长久使用,请把以上内容写进 ~ ...

  3. Linux C语言运行库 glibc

    C运行库 任何一个C 程序,它的背后都有一套庞大的代码来进行支撑,以使得该程序能够正常运行.这套代码至少包括入口函数,及其所依赖的函数所构成的函数集合.另外包括各种标准库函数的实现.          ...

  4. 转:c/c++ 运行库

    转:c/c++ 运行库 (2011-09-21 11:14:53) 转载▼ 标签: 杂谈 分类:Programming_Languages http://book.csdn.net/bookfiles ...

  5. C运行库和C语言函数库/Microsoft C运行库

    C运行库和C语言函数库/Microsoft C运行库 2009-03-04 10:27 973人阅读 评论(0) 收藏 举报 c语言librarydll编译器fortran 1.C运行库和C语言函数库 ...

  6. VS2015编译适用于XP系统sp3的dll全过程-无需vs2015运行库

    问题1:dll是否依赖于其他的库 答:dll依赖于libcurl+openssl+boost,因此dll要编译成支持xp的静态MFC+MT版,libcurl+openssl+boost同样也要编译成支 ...

  7. anacoda里面安装包显示失败_Revit问题-运行库安装错误导致软件安装失败

    问题显示: 问题剖析: 安装错误后,会生成一个日志文件,打开安装日志文件,产看安装错误情况: 2020/3/30:21:52:05 Administrator DESKTOP-GJN2D00 Page ...

  8. 安卓学习日记(一):了解安卓架构(linux内核层、系统运行库层、应用框架层、应用层)

    首先为了理解安卓系统是怎么工作的,就先来看一下android的系统架构,其架构大至可以分为四层:linux内核层.系统运行库层.应用框架层和应用层,那就先说说这几层. 1.linux内核层: Andr ...

  9. 如何查看Linux系统下程序运行时使用的库?

    Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

  10. linux c 11 运行库,11.1.3 运行库与I/O

    11.1.3  运行库与I/O 在了解了glibc和MSVC的入口函数的基本思路之后,让我们来深入了解各个初始化部分的具体实现.但在具体了解初始化之前,我们要先了解一个重要的概念:I/O. IO(或I ...

最新文章

  1. Python SQLAlchemy
  2. ListView滑动位置精准记忆
  3. 挑战61年未被质疑的经典心理学理论—— 大脑识别图像并非“趣味导向”
  4. 硬件框图分析、核心元器件参数选定和核心元器件参数选择
  5. Angular 页面元素的DOM级别的删除过程
  6. linux7启动某个服务器,如何在单用户模式下启动RHEL 7 CentOS 7服务器
  7. 带有JUnit 5支持的Ant 1.10.3发布
  8. 数据结构之单向环形列表解决josef问题
  9. linux uvc stm32,linux uvc深入理解(三)
  10. 学习Opencv---例3.12----用imageROI来添加某范围的像素
  11. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.56%
  12. 1、《java就业培训教程》-张孝祥
  13. dex转java工具_安卓dex反编译工具(dex-translator)
  14. Oracle,Sql,procedure 感觉自己写的很棒的一个存储过程
  15. TGRS2022/云检测:Unsupervised Domain Adaptation for Cloud Detection Based on Grouped Features Alignment
  16. 网页版简单点名系统的实现(HTML5、CSS、JS、jQuery)
  17. Office在控制面板“程序和功能”中的“修复”按钮找不到,office安装包的启动找不到修复选项
  18. Java规则引擎Drools急速入门
  19. es拼音分词 大帅哥_SpringBoot集成Elasticsearch 进阶,实现中文、拼音分词,繁简体转换...
  20. 林纳斯·托瓦兹的旗帜

热门文章

  1. LINUX C# 加载本地库的范例代码
  2. oracle merge into where,Oracle merge into语法简介
  3. 多个select 多个列_程序员,你还在 Select * 吗?
  4. 什么工作经常出差_职场妈妈困扰: 经常出差, 工作孩子该怎么选择?
  5. mysql innodb 分区表_InnoDB的分区表
  6. mysql pheonix hbase,mybatis连接phoenix操作hbase
  7. idea 新建ssm java ee_IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解
  8. OMG: daily scrum nine
  9. Python 优雅获取本机 IP 方法【转】
  10. SaltStack Runners