参考https://www.cnblogs.com/fjping0606/p/4551475.html

  https://www.cnblogs.com/weijing24/p/5890031.html

 

一、libc.so.6是glibc的软链接

#glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个操作系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。--百度百科

所以这个软链接很重要!!

 

先找到该文件

作死实验,删除libc.so.6

/lib64目录下,libc.so.6是个软连接,它真正是链接到libc-2.12.so,当误删libc.so.6时,所有操作系统的命令都不能运行,这是因为如cp、ls、rm、mkdir、ps、grep等命令在运行时都要加载libc.so.6(实际是加载libc-2.12.so)。只能执行一些cd的小命令了。

 

#查看当前系统glibc的版本

作死实验,删除libc.so.6

#查看系统支持的版本

作死实验,删除libc.so.6

 

删除掉libc.so.6,用ls命令就会提示在加载共享库时出错,没有这个libc.so.6文件

作死实验,删除libc.so.6

 

二、恢复--使用预加载机制

使用命令:

# LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

作死实验,删除libc.so.6

ls可以继续使用

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-27
  • 2022-12-23
  • 2021-07-05
  • 2021-08-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-30
  • 2021-06-11
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-05-23
相关资源
相似解决方案