惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
D
Docker
J
Java Code Geeks
腾讯CDC
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
M
MIT News - Artificial intelligence
L
LangChain Blog
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
博客园 - Franky
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News

猫涅的秘密结社

关于就职的思考 hackthissite-org 数据库原理相关 关于在与我互动前你可能需要了解的事 信安roadmap 个人主页开发汇报 六级生词速记本——附考后感想 数据结构C++自学相关 NewStarCTF-2025 三款steam付费番茄钟软件测评 夏令营-ai hello-world qt环境下的c++程序编写 新新的年 qq机器人配置二三事 搞点java 读书笔记-当下的力量 网页小修时间 Vulhub在线靶场记录 Vulhub记录(旧的) 神奇脚本在哪里-CTF之Pwn BaseCTF高校联合新生赛2024 逆逆逆逆逆向-CTF之reverse 求解 夺旗时间 学学学 渗透测试相关 协议/漏洞/网络 最新的知识点 数据分析相关
glibc更新记录
nirvana_felis · 2024-11-12 · via 猫涅的秘密结社

引言

最近因为各种各样的原因操弄上了校园官方渠道的服务器 分到了配置linux系统的工作
为了完成我的任务 我需要安装更新版本的glibc
期间发生了大大小小的问题还把服务器搞炸了 总之记录一下防止后边踩坑吧
以后再有linux系统选择相关的 铁定首选ubuntu 我心累了

万恶之源

服务器系统的选择上来说——环境是一个基本光秃秃啥都没装的CentOS Linux release 7.9.2009 (Core)
yum确实可以事先安装大部分玩意 但 GLIBC 库是系统的基础组件 我无法于当前的系统版本直接通过yum更新glibc
既然apt(Ubuntu才有的安装方式) yum rpm都不行 就只能尝试最拖最难搞的源码安装了

好比套娃的安装方式

在网上找了一会 看到了个相对来说靠谱 版本对劲的安装指南
依据该教程的说法

至于安装glibc的2.31版本有以下的要求&麻烦

  1. 安装glibc时中断/配置不全或者因为各种各样的原因都极易导致服务器崩溃
  2. glibc所需要的组件多且版本要求高 基本也同样是没法用yum一站式解决的 需要源码安装
  3. 具体需求(可能不对 可以去实际操作的时候查看目录下的install文件)
    需要python版本2.7.6以上 3.4以上(python2 3同时需要)
    gcc版本4.7以上
    make版本3.79以上
    bison(有个叫m4的依赖)版本2.7以上
  4. 源码安装运行./configure时 务必谨慎配置–prefix项(决定安装目录) 并且搞懂每个版本的相同软件在系统中的位置
  5. yum依靠python运行 若更新python时覆盖了原版本 会十分麻烦 重装相同版本也难以恢复 需要通过卸载所有python 以rpm覆盖的方式恢复yum的使用 还有yum的指定python运行路径由文件 /usr/libexec/urlgrabber-ext-down 与 /usr/bin/yum 决定
    1
    如果yum出现了各种各样的问题 记得先检查这两个文件的第一行
  6. 源码安装时有些软件会强制你在文件夹下新建build文件夹再执行configure 这里建议先手创建好文件夹再../configure 先下手为强
  7. 源码安装gcc非常非常慢 建议做好等待半小时-一小时(基于你make时候指定的-j参数 后面会说)的准备
  8. 更新glibc似乎会导致不少命令暂时失效 如果你是通过ssh等命令连接的服务器 务必不要退出 不然会导致服务器爆炸可以参考这玩意里的代码试图恢复
  9. 如果还是一不小心给yum python整炸了 参考教程可以做到恢复功能 记得注意版本区别

具体的安装过程

因为早就过去了所以复现图片啥的就不贴咯
先用yum安装一些没必要源码安装的东西
yum update -y
yum install bison make wget unzip等等

至于又臭又长的源码安装全过程

  1. 用wget下载软件的源tar包
  2. 解压后阅读install文件/去网络搜索所需依赖
  3. 创建build文件夹后在其中运行configure文件 成功的话会提示创建了makefile 报错了就要去检查哪里有问题
  4. make后输入make install安装似乎就完成了 记得检查安装目录是否安装成功

gcc python2 3 glibc都需要用如上的方式来安装 期间会遇到各种各样的问题 因为每个软件的源码安装会有不同的需求

结尾/引用


奠 某个服务器的第一条命(虽然挺快就重置了) 奠
死因:glibc没配置好导致错误的软连接 输入什么都回显Segmentation fault 变相的系统崩溃

We are just another visitor in a transient world.