在执行linux时难免会遇到操作错误导致系统无法正常启动,此篇文章笔者借助一个软件安装包,模拟了几个常见的小错误。
下载此安装包后,进行安装:
rpm -ivh rhce-ts-5.4.0-3.noarch.rpm
安装此软件包后,执行命令进行破坏。
1)执行tsboot break后,开机页面变成如下:
此时说明无法进入boot引导,难道系统就这样崩溃了吗?不要着急,我们可以使用此版本相同的系统引导进入救援模式。(笔者这里使用一个boot引导光盘已经无法进入,最后经过浩渊兄的指正,使用系统光盘引导才得以进入,注意此时还需要调整光盘的启动顺序。)
进入救援模式
救援模式中这个画面也比较重要:
此时您也许还无法知道系统是哪里出错了,而和系统启动的几个重要文件我们都需要查看是否存在或遭到破坏,常见的几个文件有:/etc/grub/grub.conf 及/etc/grub/目录下的文件, /etc/rc.d/rc.sysinit ,/etc/inittab,/etc/fstab
检查后都没有出错,而此时有错误了,注意:
无法运行/bin/sh命令,而sh又是指向bash的链接,找到问题了,说明是bash出问题了。
此时发现多了一个bash.gotcha文件,是不是被改名了呢?试试吧。
已经可以切换到根目录下了,去掉光盘再重启看能否正常运行。
恭喜您,成功了!
2)执行tsinit break命令,重启后的界面
此时不知问题所在,首先我们来尝试能否进入单用户模式,
能够成功进入单用户模式,我们再来查看上文提到的关键文件是否存在或者被破坏。最后发现/etc/inittab文件有错误,如下:
应该改为:
重启系统,能够成功登录:
恭喜您,又成功了!
3)执行tslogin break命令,重启后输入超级用户root帐号和密码时,会快速的闪回登录界面,此时判定root账户出现问题,我们进入单用户模式,查看root用户的帐号信息,如下:
用户帐号已经过期,我们需要修改/etc/shadow文件:
修改为,并强制保存退出:wq!:
重启系统,我们发现超级用户root已经可以成功登录。
4)执行tsnetwork break命令后,重启系统,登录我们发现网络地址被修改,我们可以以超级用户登录系统,修改网络配置命令即可。
5)执行tssudo break命令后,是把sudoers文件修改了,以visudo进入编辑模式,修改即可。
后记:在linux中操作尽量不要以超级用户身份执行rm -f 之类的命令,其中linux的管理也会遇到各种问题,希望大家一起讨论,共同进步。
下面我会上传那个软件包,仅供模拟实验使用!