glibc更新记录

引言

最近因为各种各样的原因操弄上了校园官方渠道的服务器 分到了配置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.