前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谢谢你的脚本,服务器彻底“黑屏”了

谢谢你的脚本,服务器彻底“黑屏”了

作者头像
悟空聊架构
发布2024-06-14 20:21:32
950
发布2024-06-14 20:21:32
举报

你好,我是悟空。

背景

书接上回,在部署好 Jenkins 后,紧接着就要开始部署前端项目了。

而前端项目的部署最重要的一个环节就是编译,我们项目选用的前端框架是 AngularJS ,需要用到 Node 工具来编译。

安装 node

我们的 Linux 服务器上还没有安装 Node,所以需要安装一波。

其实安装倒挺简单的,把 node 从官网下载下来,然后放到 linux 服务器上解压,配置环境变量就好了。这一步都挺挺简单的,一说就会。

接下来的事情就有点意思了,我配置好 node 后,是不是得看看 node 的版本,用 node -v 命令查下,结果就提示如下信息:

node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)

大概的意思就是 node 需要 GLIBC_2.28 的版本,但是当前服务器上没有。

根据这个报错信息到搜索引擎上查下,得到的结论就是需要升级 glibc 的版本,它是个系统库。OK,那就升级看看。

升级 GLIBC 2.28 的脚本

找到了一篇博客写的内容,还温馨地提供了一份升级脚本,如下所示:

代码语言:javascript
复制
# 解压安装包
$ tar -xJf glibc-2.28.tar.xz
$ cd glibc-2.28/
$ mkdir build
$ cd build
# 配置源代码包,以便在系统上进行编译和安装。
$ ../configure --prefix=/usr
$ make

这段脚本做了三件事:

  • 1、解压安装包
  • 2、配置源代码包
  • 3、编译

看起来也挺简单的,试试看。按照上面提供的命令操作了一波,就提示如下信息了:

segmentation fault

而且更奇怪的是,我输入任何命令都是提示 segmentation fault。

无解了,于是我想重连服务器试试看,结果 ssh 连不上服务器了。

没办法了, 只能重启试试看了。

重启后就黑屏卡在那里不动了,用救援模式重启依旧如此。

到搜索引擎上按关键词搜索:升级glibc导致的系统崩,确实有很多朋友遇到了类似问题。而且用的脚本一模一样,这个脚本坑人啊!

正确的命令是

代码语言:javascript
复制
../configure --prefix=/usr/glibc-2.28

尝试修复

找了下网上的解决方案,尝试进行修复,还是没能重启成功。

还好能将磁盘挂载到另外一台服务器上,最后就只能把重要的文件备份出来了。比如备份 jenkins 目录,不然又得重新折腾一遍了,离线环境部署 jenkins 还是比较麻烦的。

解决方案

问题原因其实就是当前的 Ubuntu 版本太低了,不支持当前的 node 版本,解决方案就是把 Ubuntu 重装一个高版本的。

最后

为了感谢这位博主提供的脚本,必须评论留言一波!

希望大家引以为鉴,对于更新系统核心库的操作一定要慎重!更新之前,提前做好系统镜像和备份文件也是非常有必要的。

好的,我的讲话完毕,谢谢大家!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 悟空聊架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 安装 node
  • 升级 GLIBC 2.28 的脚本
  • 尝试修复
  • 解决方案
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档