背景:首先说一下背景,源于年前的一次libc的升级。再迁移打包机环境时遇到了报错/lib64/libc.so.6: version `GLIBC_2.14' not found
报错很明显,直接安装了对应的版本libc-2.14.so。然后按照网上的操作进入/lib64/,想着将当前的版本覆盖到旧版本libc-2.12.so上
然后就脑抽没有注意到libc.so.6实际是个软链到正确版本的,还想着先mv 备份一下,再copy回来一个高版本……
一定不要执行的操作:mv libc.so.6 libc.so.6_bak
然后悲剧了!!!mv命令、ll命令等完全不能操作了libc.so.6:cannot open shared object file
幸运的是,我没有退出机器时就发现了这个问题,据说如果是退出了,就需要另一个操作流程了……
恢复办法:重新设置一个libc.so.6链接文件
LD_PRELOAD=/lib64/libc-2.14.so ln -f -s /lib64/libc-2.14.so libc.so.6
注意:libc-2.14.so是你本地已有的一个版本
说明:LD_PRELOAD用于动态库加载,可以加载该库并执行ln命令