Centos升级Glibc导致系统崩溃的解决方法

Centos Glibc异常:relocation error: /lib64/libxxx.so.0: symbol __libc_vfork, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

编译升级Glibc,make install完之后报了个异常,然后所有指令都失效了

此时千万不要关掉ssh,因为关掉就再也连不上了

这个问题是由于升级时/usr/lib64目录中链接没有更新完全导致的

解决方法

首先修复系统错误

重新链接为老版本

sln libnss_db-2.17.so libnss_db.so.2
sln libnss_hesiod-2.17.so  libnss_hesiod.so.2
sln libnss_nis-2.17.so libnss_nis.so.2
sln libnss_nisplus-2.17.so libnss_nisplus.so.2
sln /usr/lib64/ld-2.17.so ld-linux-x86-64.so.2
sln /lib64/libc-2.17.so libc.so.6
sln libpthread-2.17.so libpthread.so.0
sln libdl-2.17.so libdl.so.2
sln libm-2.17.so libm.so.6
sln librt-2.17.so librt.so.1
sln libresolv-2.17.so  libresolv.so.2
sln libnss_dns-2.17.so libnss_dns.so.2
sln libnss_compat-2.17.so libnss_compat.so.2
sln libutil-2.17.so  libutil.so.1
sln libBrokenLocale-2.17.so libBrokenLocale.so.1
sln libanl-2.17.so  libanl.so.1
sln libnss_files-2.17.so libnss_files.so.2
sln libcrypt.so.1 libcrypt-2.17.so

此时系统应该已经恢复正常,执行service sshd restart来重启ssh服务,另外开一个终端来测试远程连接是否正常

部分情况下,起sshd会失败,因为glibc版本过低,此时需要再次尝试升级

再次尝试升级

升级可以参考这篇文章:

Centos升级Glibc

如果make install成功了,并且ssh能正常登录,但是指令还是报错,请重开下终端试试

评论区
头像
文章目录