前因
因为办公室的一台主机一直承担着服务器的作用, 之前印象里弄环境的时候出了点问题, 但是后面一直没有修复. 正好最近有时间准备整理一下环境, 作为集群使用.但是没想到第一步-开机 就出现了问题
scene-1 无法正常使用
首先是无法正常使用ssh进行远程连接本来以为是客户端的ssh软件出现了什么问题, 但是经过多种方法发现使用无法进行正常连接. 一直是连接被拒绝.
于是想要在物理机上进行操作, 诡异的是, 物理机的显示屏在鼠标点击和键盘敲击的时候会有一瞬间的屏幕闪过, 然后变为黑屏. 经过多次测试后发现是在是无法正常直接使用, 于是进行了重启...触发了scene-2场景
scene-2 开机不能
开机重启之后, 系统一直在redhat的启动界面图标旋转, 进度条加载速度很慢, 等待了几分钟后, 进度条加载完成, 但是始终处于开机界面, 而不能正常进入系统
这个时候认为是因为什么开机启动任务导致的报错导致的启动失败, 于是再一次重启, 修改了系统启动项想要进入单用户模式
, 但是修改保存后仍然不能正常进入系统, 这才意识到可能是系统加载时出了问题, 于是在启动界面摁esc
键退出用户界面进入命令行窗口, 发现了系统加载的报错信息
scene-3 尝试
因为本身服务器上存在资料, 系统不能重装 (当然也不需要重装), 于是借助网上的资料和案例进行整理. 先是制作了一个centOS6的系统启动盘 (redhat和centos是同源发行版), 然后通过引导盘启动, 使用centOS的救援模式
接管了原本系统的管理控制权.
该模式下, 原本的系统文件被挂载在了/mnt/sysimage
下, 进入之后查看原系统中/lib
文件夹和/lib64
文件夹下的文件, 发现有些文件的更新时间是在2020年, 查看了系统glibc
的版本情况
redhat默认的版本库为2.12, 并没有开机界面上的2.14环境, 结合查看到libaudit.so.1
的更新情况, 判断应该是之前整理环境的时候有部分环境出现了问题, 于是直接使用了centOS的libaudit.so.1.0.0
文件对/mnt/sysimage/lib64/libaudit.so.1.0.0
进行了替换
而后重启系统, 原系统顺利启动
后记
- 系统底层的
共享库
的修改需谨慎 - 系统本质上是对硬件资源的管理器
Q.E.D.