一、我是怎样一步一步毁掉系统的

教程

    You cannot update glibc on Centos 6 safely. However you can install 2.14 alongside 2.12 easily, then use it to compile projects etc. Here is how:
    mkdir ~/glibc_install; cd ~/glibc_install
    wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
    tar zxvf glibc-2.14.tar.gz
    cd glibc-2.14
    mkdir build
    cd build
    ../configure --prefix=/opt/glibc-2.14
    make -j4
    sudo make install
    export LD_LIBRARY_PATH=/opt/glibc-2.14/lib

 

 
    当make install 完成之后,看教程上说需要将 /lib64/libc.so.6 软链接更新为 /usr/local/glibc-1.7/lib/libc-2.17.so,于是我准备删除 /lib64/libc.so.6,然后新建一个指向/usr/local/glibc-1.7/lib/libc-2.17.so.然后我就删除了 /lib64/libc.so.6,然后,就没有然后了。。。

  1. libc.so.6 c运行时库 glibc的软链接,而系统几乎所有程序都依赖c运行时库。程序启动和运行时,是根据libc.so.6 软链接找到glibc库。删除libc.so.6将导致系统的几乎所有程序不能工作。
  2. 每个glibc.so文件有它支持的libc版本,可以通过# strings /lib64/libc.so.6 |grep GLIBC_ 查看。如果程序编译的时候链接的libc库版本不在程序运行环境下的glibc库支持的libc版本之内,也会报错.

    于是,系统的所有命令 ls,cp,cd 等等都无法使用了。

二、修复系统

lic.so.6 缺失问题的做法修复。大体步骤是:

    1.搞到系统光盘或者U盘
    2.开机设置bios由光盘或U盘启动
    3.选择 troubleshooting,rescue a centos system
    4.进入终端,系统提示说 原系统的目录被mount到/mnt/sysimage下,于是进入/mnt/sysimage,此时就可以使用ln -s命令创建软链接了。
    5.重启,搞定

 

libc.so.6: cannot open shared object file报错处理所说,执行

    先删除连接 :
    # cd /lib64
    建立新连接 :
    # LD_PRELOAD=/usr/local/glibc-2.17/libc-2.17.so ln -s /usr/local/glibc-2.17/libc-2.17.so /lib64/libc.so.6
    #注意 LD_PRELOAD和后面的ln -s在同一行

 

 
    于是,使用LD_PRELOAD指向正常的glibc库文件,然后执行ln等命令,就可以正常执行,执行成功之后, libc.so.6 就又存在了。

相关文章:

  • 2022-12-23
  • 2022-02-07
  • 2022-02-25
  • 2021-09-13
  • 2022-12-23
  • 2021-11-01
  • 2022-03-05
  • 2022-12-23
猜你喜欢
  • 2021-11-30
  • 2021-05-23
  • 2021-08-24
  • 2021-07-03
  • 2022-12-23
  • 2021-07-05
相关资源
相似解决方案