admin管理员组

文章数量:1561030

CentOS7/etc/rc.local中的程序出错导致百度云服务器无法进入系统的解决方法

  • 案发过程
  • 解决办法
    • 问题来了,重启怎么进入单用户模式?
  • 结果
  • 补充结果

案发过程

我在/etc/rc.local实际路径(/etc/rc.d/rc.local)中写了一条开机执行某些程序的命令,以达到开机自启某些程序的目标。由于有20万的数据需要爬取,所以现在本机进行了一些修改然后再进行了测试,可以搞起。于是突发奇想,为了让服务器上正在运行的代码能够不执行其中的某一个功能,于是乎,我删掉了start.py文件中的10行代码。然后开心的 输入init 6,再回车。打开爱奇艺,看起了电影。
过了N久,想起我今天的任务是改一个Bug,yu于是右击爱奇艺图标,退出它。
打开Pycharm,各种断点(我一般不用这玩意儿,所以其实是各种print),最后发现爬虫概率性解析不出数据的bug在于无法从mongodb中查到某一个需要的数据,于是每一次到这它就挂了。

我打开NoSQL Booster for MongoDB,想看看服务器上的all_experts中的数据是嘛样子的(因为自己的机器今天主要任务是为了看看这个bug出在哪里,而没有爬今天的experts数据)结果他就一直在转圈圈,打开Mobaxterm也登不上云服务器,怎么办呢?急中生智,想到各云服务器提供商都有VNC啊,于是打开那个几个月都不用一次的百度智能云,登录然后进入VNC,一看,发现类似如下的情况:

一看很熟悉,某个服务没起来,当时就有重装系统的冲动(这是因为之前玩树莓派就这么干的,不行就重装系统),可是这想想,今天的数据还没拿到手,如果自己电脑爬也可以,可是昨天没有同步下来的数据怎么办?一想到这,我就又默默打开了百度,输入了“centos7 rc.local程序出错,不能”,第二个就是一个我想要的答案,CSDN上的某个解决办法于是打开看看。

解决办法

步骤:进单用户模式,然后切root,再然后哪里出错点哪里

问题来了,重启怎么进入单用户模式?

还是先看怎么重启吧。按了一下VNC页面右上角的,发现还是最后还是那行出错,情急之下点了很多次,奇迹发生了,出现了Forcibxxx…,强制重启了,一次大力不一定出奇迹,但是多次大力就出了奇迹了。

回到了熟悉的选择启动项界面。
怎么进单用户模式?百度之后,才发现是在是启动项界面按**‘e’**,这感觉让我一下想起来第一次接触Linux(那时用的还是Ubuntu14.04)时,看到这个就瞎按了e,然后不知道后面怎么操作(捂脸笑)。

回来赶紧按下e,进入

找到出现“ro”的一行将 “ro” 替换成rw init=/sysroot/bin/sh,如下:

Ctrl + x 重启。(心里默念100遍不要出问题。。。不要出问题。。。不要出问题。。。…)不出所料,它进不去,可能是姿势不对。
再来一次,这次双手合十,祈祷100次。进不去。
再来一次,这次双手合十,发音祈祷200次。进不去。
好吧,我被折服了。

结果

我放弃了,vnc截图给百度云支持工程师,看看这些大佬们怎么搞。

补充结果

我问了百度云工程师之后,他们给了我一个参考链接:百度云CentOS7进入单用户按照这个修改之后就可以了,重点在于按e之后的修改:
ro 改为rw, 然后再在最后面添加console=console init=/bin/sh
然后从网页控制台直接重启(为啥不输入init 6或者reboot?因为不起作用,我把shutdown now, poweroff都试了,右上角的那个发送xxx也试了,十次都不行,不能重启),重启完成后可以进系统,美滋滋。。。。。。

本文标签: 解决方法服务器程序系统RC