解决‘libc.so.6: version GLIBC_2.14 not found’

解决‘libc.so.6: version GLIBC_2.14 not found’

    • 问题
    • 网上大部分推荐方法:升级glibc 2.14
    • 笔者解决方法:替换软连接指向的真实文件
    • 后记

问题

由于一次软件依赖安装,当时没考虑其他直接按照网上照搬强制安装了gcc相关依赖,造成大多数命令无法使用
比如:sshd,yum
[root@localhost gcc]# sshd
sshd: /lib64/libc.so.6: version GLIBC_2.14' not found (required by /usr/lib64/libcrypto.so.10) sshd: /lib64/libc.so.6: versionGLIBC_2.17’ not found (required by /usr/lib64/libcrypto.so.10)

此时如果你ssh sftp 还连着千万不要关闭 现在还是可以用的那还有救,一旦关闭那你就连不上去了!!!(我就关闭了)

网上大部分推荐方法:升级glibc 2.14

解决‘libc.so.6: version GLIBC_2.14 not found’_第1张图片
此处笔者当时到make install 时进行不下去了,查看日志发现其中隐藏的一个命令我当时用不了等于陷入死循环中。
当时现场已经断开,立马在虚拟机上搭建相同系统进行复盘

笔者解决方法:替换软连接指向的真实文件

回到最开始的问题 sshd 先恢复这个 才好弄后面的
[root@localhost gcc]# sshd
sshd: /lib64/libc.so.6: version GLIBC_2.14' not found (required by /usr/lib64/libcrypto.so.10) sshd: /lib64/libc.so.6: versionGLIBC_2.17’ not found (required by /usr/lib64/libcrypto.so.10)

查看这个软连接指向哪个文件
[root@localhost build]# ll /usr/lib64/libcrypto.so.10
lrwxrwxrwx. 1 root root 19 Dec 31 05:08 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.2k

libcrypto.so.1.0.2k明显这个用不了了
现在我在一个同一版本系统上查看了这个软连接指向的文件
[root@localhost lib64]# ll /usr/lib64/libcrypto.so.10
lrwxrwxrwx. 1 root root 19 2019-09-17 10:02 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e

然后查找到这个文件的位置
[root@localhost lib64]# find / -name ‘libcrypto.so.1.0.1e’ (ps:全局查询较慢 可能位置/usr/lib64/ /usr/local/lib64/)
/usr/lib64/libcrypto.so.1.0.1e

cope一份丢到相应的位置
libcrypto.so.1.0.1e 放置于 /usr/lib64/ (推荐放查到的位置)
文件放置后替换软连接 执行命令如下
ln -snf /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10

[root@localhost xf]# sshd
sshd re-exec requires execution with an absolute path

不再提示
sshd: /lib64/libc.so.6: version `GLIBC_2.14’ not found (required by /usr/lib64/libcrypto.so.10)了
然后可以连上

后记

先恢复sshd 保证能连上服务器再解决其他问题,笔者当时直接断开,操作服务器还得发邮件给电信工作人员,客户主管领导,经理。所以还是先恢复系统的操作。
方法不难但可能并不适合所有的人,希望可以帮到大家

你可能感兴趣的:(linux)