init中的服务故障如何排除

我们假设ypbind出故障
首先我们设 ypbind服务开机启动

chkconfig yubind on

然后查看服务

chkconfig --list


默认是2345启动


然后更改这个脚本,里面寄一个长期的休眠时间,模仿为错误

sleep 休眠时间

然后重新启动,看看系统如何报错。



然后系统等到要启动该服务的时候回一直处于等待中



如果该脚本出错,那么系统也会该我们错误提示。
因为默认是在模式2345中启动。

所以模式1默认不启动服务 ,可以用模式1登录进行排查。
重启系统
人后在登录等待中按esc会进到这个页面



根据下面的提示 ,按a

进入到一个开机设置的脚本中。
然后再最后一行添加要进入的模式。
我们这里要进1模式,所以我在最后面添加1
然后按回车启动

relevel查看现在模式


这里我们可以进去了。
然后可以在这个模式里进行拍错。
找到刚刚我们模拟的错误修改回来保存重启就行
如果把1模式也设为on(启动)

chkconfig --level 1 yubind on

该程序也属于init 中的启动



那我们只能绕过init启动
系统重启,然后跟刚刚一样。
还是启动用a
系统默认情况下是找/sbin/init启动
这次我们可以更改一下,用非默认。
这次在最后加上 init=/ bin/bash
这意味着是bash启动
这个就等于绕过了init



相当于先启动bash 启动后进命令模式
然后在排查init中启动文件夹的错误

更改文件时发现不让更改
查看一下挂载情况

mount


登进去后属于只读挂载


mount -o remount,rw /(重新挂根)chkconfig yubind off (关闭损坏的服务)

然后再重启系统
重启后再排除故障

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容