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版本过低,此时需要再次尝试升级
再次尝试升级
升级可以参考这篇文章:
如果make install
成功了,并且ssh能正常登录,但是指令还是报错,请重开下终端试试
分别是哔哩哔哩序号35,小米运动序号2,米友社序号13,这个是同一个账号下运行的任务