Linux中关于glibc包导致的服务器死机或者linux命令无法使用的情况

这篇具有很好参考价值的文章主要介绍了Linux中关于glibc包导致的服务器死机或者linux命令无法使用的情况。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个作业系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑

1.导致glibc包升级后服务器崩溃的情况:

1.手动编译升级glibc包:

下面glibc安装步骤本身就存在巨大的风险

下载gblic包

wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.29.tar.gz

解压

tar -zxf glibc-2.29.tar.gz

创建目录

cd glibc-2.29
mkdir build && cd build

创建编译环境

apt-get install gawk bison -y
../configure --prefix=/usr/local/glibc-2.29
# 遇到报错configure: error: *** LD_LIBRARY_PATH shouldn't contain the current directory when *** building glibc. Please change the environment variable *** and run configure again
# 解决方法:
export LD_LIBRARY_PATH=

编译

make -j4

然后报错

Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion `sym != NULL' failed!

之后你输入其他命令还是报错

Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion `sym != NULL' failed!

2.yum安装devtoolset-7软件包

安装命令

sudo yum install devtoolset-7

你会发现devtoolset-7包依赖于glibc,gblic包也跟着升级了

之后电脑就卡在启动页面

inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_lib,Linux操作系统,服务器,运维,linux

2.如果直接导致服务器无法登录的解决方法:

1.进入安全模式:

在选择内核的界面按e键

inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_lib,Linux操作系统,服务器,运维,linux

如图所示,输入rd.break,然后按Ctrl+X键进入安全模式

inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_lib,Linux操作系统,服务器,运维,linux

inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_lib,Linux操作系统,服务器,运维,linux

2.使用U盘启动盘:

3.服务器因glibc包崩溃的解决方法:

1.拷贝正常节点的glibc包覆盖掉之前的glibc包:

2.修改glibc包的软链接:

查看glibc包的版本

[root@localhost lib64]# ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

查看glibc的文件:不是在/usr/lib就是在/usr/lib64目录下

# libc.so.6是目目标文件,libc-2.17.so是原文件
[root@localhost ~]# cd /usr/lib64
[root@localhost lib64]# ll | grep libc.so
lrwxrwxrwx.  1 root root      12 Oct  8 20:05 libc.so.6 -> libc-2.17.so

将libc.so.6指向修改之前的文件libc-2.17.so,如果有多个类似的文件一起修改好了。文章来源地址https://www.toymoban.com/news/detail-777655.html

到了这里,关于Linux中关于glibc包导致的服务器死机或者linux命令无法使用的情况的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器安装 anaconda & conda: command not found [解决方案] & bashrc文件中环境变量配置错误,导致linux命令无法正常使用的解决方案

    由于连接的服务器,无法直接在anaconda官网上下载安装文件,所以使用如下方法: 之后一直按 enter ,直到出现提示要输入 yes or no ,输入 yes 显示以下信息即为安装成功 在终端输入conda info --envs查看anaconda是否安装成功,发现报错:conda: command not found 原因在于: ~/.bashrc文件没

    2024年02月06日
    浏览(94)
  • centos7 arm服务器编译升级安装动态库libstdc++.so.6,解决GLIBC和CXXABI版本低的问题

    前言         由于centos7内置的libstdc++.so.6版本太低,导致安装第三方包的时候,会报“CXXABI_1.3.8”不存在等问题。         自带的打印如下: 如图 升级 注意:当前的libstdc++.so.6.0.25只适用于centos7 arm服务器,其他系统慎用! 1、把libstdc++.so.6.0.25拷贝到/usr/lib64目录下 2、备份

    2024年01月18日
    浏览(50)
  • Rclone传输文件到服务器或者从服务器到本地教程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最近有从linux服务器传输大量文件的需求,通过常规的xshell工具十分缓慢,最终还是自己配置了rclone,这里是记录配置过程,以防后续遗忘。 https://rclone.org/downloads/这是官网地址,windows进去下载解压就可

    2024年02月03日
    浏览(78)
  • journal日志导致服务器磁盘满

    ubuntu 18.04服务器磁盘突然100% 一查/var/log/journal目录占了14G 要清理 journal 日志,可以使用以下步骤: 运行以下命令来查看 journal 日志的使用情况: 这将显示 journal 日志的当前使用情况,包括占用的磁盘空间和日志条目数量。 上述命令将清除 journal 日志中超过 100MB 大小的内容

    2024年02月10日
    浏览(41)
  • 远程服务器或者docker运行GUI程序

    目的:远程服务器或者docker运行GUI程序,可以不使用VNC等工具 MAC电脑安装XQuartz: 官网:https://www.xquartz.org/ window电脑安装:MobaXterm 官网:https://mobaxterm.mobatek.net/download-home-edition.html 启动docker容器 登陆docker内 链接docker测试 -------------------------------现在SSH链接正常,下一步进行

    2024年02月16日
    浏览(54)
  • “代理服务器出现问题,或者地址有误”解决方案

    网上查了很多方法,终于解决了,在此分享一下(前两个方法为通用方法, 都不行的话,可以试试第三种方法) 方法一 :(windows11版) 打开设置——网络和Internet——找到代理  进入后可能是手动设置代理开启了,关闭即可 方法二 :(通用版) 打开控制面板——找到网络

    2024年02月03日
    浏览(61)
  • 服务器数据恢复—服务器进水导致阵列中磁盘同时掉线的数据恢复案例

    服务器数据恢复环境: 数台服务器+数台存储阵列柜,共上百块硬盘,划分了数十组lun。 服务器故障检测: 外部因素导致服务器进水,进水服务器中一组阵列内的所有硬盘同时掉线。 北亚数据恢复工程师到达现场后发现机房内有一台存储柜中的机器都没有开机。和用户方沟

    2024年01月23日
    浏览(51)
  • 服务器 ping 不通有哪些原因导致的

    服务器 ping 不通有哪些原因导致的 太心急。即网线刚插到交换机上就想 Ping 通网关,忽略了生成树的收敛时间。当然,较新的交换机都支持快速生成树,或者有的管理员干脆把用户端口(access port)的生成树协议关掉,问题就解决了。 某些路由器端口是不允许用户 Ping 的。

    2024年02月12日
    浏览(48)
  • 导致服务器CPU跑满的原因有哪些

    一.硬件原因 服务器CPU自身出现问题,比如机房散热不足,温度过热或者驱动故障,导致CPU性能下降,很容易造成CPU跑满的情况。 二.网站代码错误 排查硬件原因后,我们进入网站后台查看是哪些程序占用了大量CPU,检测这些代码自身是否有问题。如果是代码问题就需要

    2024年02月12日
    浏览(62)
  • 使用代理服务器导致电脑无法打开网页解决办法

    日常生活和工作中,经常会使用代理IP。但是在使用完代理服务器之后,很多用户都会遇到这样的问题:明明网络正常,为什么网页确打不开了? 其实,只需要关闭代理服务即可。具体操作如下: win+i进入设置 进入【网络和Internet】 进入【代理】 关闭【使用代理服务器】选

    2024年02月11日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包