故事是这样的
新开发的jar包部署在老服务器上,版本是Red Hat Enterprise Linux AS release 4 (Nahant Update 5),提示需要高版本jdk,高版本jdk提示glibc版本太低得升级,是的,就像套娃。
使用编译源码的方式将glibc由2.3升级到2.9,升级完ls命令不好使了。 用LD_PRELOAD方法解决了ls命令不好使的问题后还挺有成就感的呢!
轻度强迫症的我当然要重启,然后
- #reboot
就没有然后了。。
操作系统起不来了。各种尝试,最好的结果是卡死在
- Starting cups-config-daemon:
- Starting HAL daemon:
再也不往下走了。007的服务器被996的程序员干进了ICU。
看到了吧,搞垮服务器可以显得很无辜。删库显得太刻意了,会被人指责性格有问题。
抢救思路
像《信条》一样进行一次逆过程,把glibc相关的静态库、动态库都用原来的低版本覆盖回来。cp覆盖和安装rpm覆盖一起上。
必要条件
- 能进机房,直接操作服务器,因为ssh此时已经连不上了。
- 有相同版本的Linux系统光盘,Linux抢救模式需要光盘引导。
- 有相同版本的Linux系统的iso镜像文件,用来获取rpm 【或者替代方法】
- 有相同版本的Linux系统的服务器或者虚拟机,用来下载.a文件 【或者替代方法】
准备工作
rpm安装包
将iso文件解压,在
- RHEL4.6-i386-AS-DVD\RedHat\RPMS
目录下就包括所有需要的rpm包。
需要准备的安装包是下面这些:
.a静态库文件
到好用的版本一致的服务器对应目录下载下面的库文件
目录/lib
目录/usr/lib
本文转载自网络,原文链接:https://segmentfault.com/a/1190000037491799?utm_source=tuicool&utm_medium=referral
版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除