init中的服务故障如何排除

2017-10-06  本文已影响0人  clickdiff

我们假设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 (关闭损坏的服务)

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

上一篇 下一篇

猜你喜欢

热点阅读