centos7 升级 glibc2.25 踩坑记录

目录

1 基础环境准备

1.1 make升级

1.2 gcc升级

2 升级glibc

3 注意事项

4 故障处理

        centos7默认的glibc函数库的版本为2.17,无法运行一些对glibc版本有要求的中间件。为了在centos7上可以正常运行此类中间件,则需要对glibc进行升级。

假设需要安装一个中间件,该版本的中间件要求glibc函数库在2.25以上,但操作系统的glibc版本为2.17,为了符合运行要求需要对glibc进行升级。由于直接升级到glibc2.25会出现各种崩溃的问题(如:无法远程、常规基础命令无法使用等等)。经反复测试确认,可直接升级到glibc2.31(升级过程中会自动安装缺失的版本)。

1 基础环境准备

        说明:升级之前最好保持两个以上的远程终端,防止升级失败时手误关闭了终端导致无法再远程!

升级glibc2.31前需要确保基础环境满足以下条件:gcc版本要在9以上(默认4.8.5),make版本要在4.0以上(默认3.82)。

执行以下操作前需远程登录到目标服务器

1.1 make升级

升级前需确认当前环境的make版本(make -v),若当前版本为3.x则确认本次需升级,若为4.x则跳过此步骤。假设当前环境的make为3.x,需要进行make升级。

至此 make升级完成。

1.2 gcc升级

升级前需确认当前环境的gcc版本(gcc -v),若当前版本为4.x则确认本次需升级,若为9.x则跳过此步骤。假设当前环境的gcc为4.x,需要进行gcc升级。

至此 gcc升级完成。

2 升级glibc

升级前需查看当前环境的glibc是否存在符合taos3的版本,若存在则跳过升级,此文档假设glibc当前最高的版本为2.17

至此 glibc升级完成。

3 注意事项

1.升级glibc存在系统崩溃风险!!!升级前尽可能在个人环境下进行反复测试,确保无问题后再升级生产环境!

2.当glibc版本为2.17时千万不要直接升级到2.25!!!2.17与2.25直接差4个版本(2.18、2.22、2.23、2.24),经反复测试确认发现直接升级到2.25时不会自动安装缺失的版本,而2.25又对之前的版本有依赖(个人猜测),强行安装2.25不但安装失败,且会造成系统崩溃、异常(比如无法使用ls、cp等命令,无法进行远程连接)。

4 故障处理

        故障现象:假设在glibc2.17时直接升级到glibc2.25,将会出现操作系统崩溃的情况,如:大部分命令不可用、无法远程登录、yum报错等。

        说明:出现此类问题时千万不要重启服务器,不要关闭当前的终端!!!

        故障原因:glibc2.25未编译安装成功,但部分组件依赖的函数库软链接指向到了glibc2.25上。

        解决办法:将软链接指向原glibc-2.17

关于稚子

你们眼中的草根
此条目发表在系统分类分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注