我们假设ypbind出故障
首先我们设 ypbind服务开机启动
chkconfig yubind on
然后查看服务
chkconfig --list
![](https://img.haomeiwen.com/i6297732/db272b7e30bbeded.png)
默认是2345启动
![](https://img.haomeiwen.com/i6297732/15a753f9331b2a91.png)
然后更改这个脚本,里面寄一个长期的休眠时间,模仿为错误
sleep 休眠时间
然后重新启动,看看系统如何报错。
![](https://img.haomeiwen.com/i6297732/78ee0a41027e3f67.png)
然后系统等到要启动该服务的时候回一直处于等待中
![](https://img.haomeiwen.com/i6297732/7052dd6c4ce5829f.png)
如果该脚本出错,那么系统也会该我们错误提示。
因为默认是在模式2345中启动。
所以模式1默认不启动服务 ,可以用模式1登录进行排查。
重启系统
人后在登录等待中按esc会进到这个页面
![](https://img.haomeiwen.com/i6297732/c57dcf5a5d1c61c8.png)
根据下面的提示 ,按a
![](https://img.haomeiwen.com/i6297732/fbe8144b5ecfd79c.png)
进入到一个开机设置的脚本中。
然后再最后一行添加要进入的模式。
我们这里要进1模式,所以我在最后面添加1
然后按回车启动
relevel查看现在模式
![](https://img.haomeiwen.com/i6297732/17783b3762c6ace1.png)
这里我们可以进去了。
然后可以在这个模式里进行拍错。
找到刚刚我们模拟的错误修改回来保存重启就行
如果把1模式也设为on(启动)
chkconfig --level 1 yubind on
该程序也属于init 中的启动
![](https://img.haomeiwen.com/i6297732/a7f98ad3dbc4e92e.png)
那我们只能绕过init启动
系统重启,然后跟刚刚一样。
还是启动用a
系统默认情况下是找/sbin/init启动
这次我们可以更改一下,用非默认。
这次在最后加上 init=/ bin/bash
这意味着是bash启动
这个就等于绕过了init
![](https://img.haomeiwen.com/i6297732/6350340c51b1065a.png)
相当于先启动bash 启动后进命令模式
然后在排查init中启动文件夹的错误
![](https://img.haomeiwen.com/i6297732/df1950cca10c6e42.png)
更改文件时发现不让更改
查看一下挂载情况
mount
![](https://img.haomeiwen.com/i6297732/39c7c242a0a0726b.png)
登进去后属于只读挂载
![](https://img.haomeiwen.com/i6297732/8e84afabc835b00b.png)
mount -o remount,rw /(重新挂根)chkconfig yubind off (关闭损坏的服务)
然后再重启系统
重启后再排除故障
网友评论