升级GLIBC后系统崩溃,多数命令无法使用且无法登录

2024-03-06 19:12

本文主要是介绍升级GLIBC后系统崩溃,多数命令无法使用且无法登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

升级GLIBC后,执行任何命令都会报:

__vdso_timeSegmentation fault

还有:

/lib64/libpthread.so.0: symbol h_errno, version GLIBC_PRIVATE not defined 

或者:

relocation error: /lib64/libdl.so.2: symbol _dl_catch_error, version 

首先看下自己的原来的glibc版本号,我这里是2.17,也可以用命令去其他相同机器看:

ldd --version

只要还有没关闭的窗口,都可以执行下面两段恢复:

解决系统内大部分命令不可用:

sln /usr/lib64/ld-2.17.so /usr/lib64/ld-linux-x86-64.so.2
sln /usr/lib64/libc-2.17.so /usr/lib64/libc.so.6
sln /usr/lib64/libc-2.17.so /lib64/libc.so.6
sln /usr/lib64/libm-2.17.so /usr/lib64/libm.so.6
sln /usr/lib64/libdl-2.17.so /usr/lib64/libdl.so.2
sln /usr/lib64/libBrokenLocale-2.17.so /usr/lib64/libBrokenLocale.so.1

解决SSH无法登录等


cd /lib64
ln -snf libanl-2.17.so libanl.so.1ln -snf libBrokenLocale-2.17.so libBrokenLocale.so.1ln -snf libcidn-2.17.so libcidn.so.1ln -snf libcrypt-2.17.so libcrypt.so.1ln -snf libdl-2.17.so libdl.so.2ln -snf libm-2.17.so libm.so.6ln -snf libnsl-2.17.so libnsl.so.1ln -snf libnss_compat-2.17.so libnss_compat.so.2ln -snf libnss_db-2.17.so libnss_db.so.2ln -snf libnss_dns-2.17.so libnss_dns.so.2ln -snf libnss_files-2.17.so libnss_files.so.2ln -snf libnss_hesiod-2.17.so libnss_hesiod.so.2ln -snf libnss_nisplus-2.17.so libnss_nisplus.so.2ln -snf libnss_nis-2.17.so libnss_nis.so.2ln -snf libpthread-2.17.so libpthread.so.0ln -snf libresolv-2.17.so libresolv.so.2ln -snf librt-2.17.so librt.so.1ln -snf libutil-2.17.so libutil.so.1ln -snf ld-2.17.so ld-linux-x86-64.so.2ln -snf ./libc-2.17.so libc.so.6#基本上面执行完后就可以了,如果不行,就继续向下/lib64/ld-2.17.so /usr/bin/ln -sf /lib64/ld-2.17.so /lib64/ld-linux-x86-64.so.2#重链接libc.so.6后命令不能用,采用以下方式恢复LD_PRELOAD=/lib64/libc-2.17.so ln -s /lib64/libc-2.17.so /lib64/libc.so.6#如果报/lib64/libc.so.6已存在LD_PRELOAD=/lib64/libc-2.17.so rm -rf /lib64/libc.so.6#然后再执行LD_PRELOAD=/lib64/libc-2.17.so ln -s /lib64/libc-2.17.so /lib64/libc.so.6

升级后如果报字符集错误:

bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8)

回到glibc编译目录执行

cd buildmake localedata/install-locales

这篇关于升级GLIBC后系统崩溃,多数命令无法使用且无法登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/781040

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符