Ubuntu 14.04 上的未知运行级别,服务未在启动时启动

Ubuntu 14.04 上的未知运行级别,服务未在启动时启动

我从 VPS 公司租用了 VPS,并在那里运行 Ubuntu 14.04 Web 服务器。最近它不得不被我的提供商暂停一段时间。暂停期(1-2 天)后,VPS 会启动,但无法获取任何运行级别。

root@vps:/# runlevel
unknown

反过来,这意味着没有 Upstart 服务在启动时启动,因为“有用的东西”需要runlevel [2345]

我可以使用 手动启动各个服务initctl,除非它们具有启动时不会自动启动的依赖项。

我无法从日志中找到任何有用/可理解的内容。请询问您是否需要特定的日志条目,我可以尝试找到它们。

服务器正在运行 PHP7、Nginx、MySQL、Redis、Minecraft Server、Mumble Server。在暂停期间之前,服务器运行良好(并且在多次重新启动后幸存下来)。

这是我initctl list重新启动后的情况:http://pastebin.com/fcfcnxBU。请询问具体细节,因为我不完全确定在哪里寻找它们(例如日志文件、调试工件、文件和目录等)。

编辑:通过修补取得了一些进展:

启动时文件系统和/或网络堆栈似乎未正确启动。当我执行以下操作时:

$ ifup --all
$ initctl emit static-network-up
$ initctl emit filesystem
... Ctrl-C to exit loop
$ initctl emit local-filesystems

然后我得到

$ runlevel
>N 2

而且我的服务器服务(至少大部分)运行正常。

我将检查是否有一个命令可以使引导初始化序列正常继续。

编辑2:

  • ifup --all调出venet0:0与 VPS 的公共静态 IP 绑定的一个。

  • emit static-network-up什么也没做。

  • emit filesystem+Ctrl-C开始

    • 系统日志
    • SSH
    • 我的世界服务器
    • 计划任务
    • 西内特
    • 安慰
    • 终端2
    • 新贵文件桥
    • mysql

    并停止

    • 普利茅斯
    • 普利茅斯新贵桥
  • emit local-filesystems开始

    • avahi 守护进程
    • 系统登录
    • 安装目录
    • 总线
    • 联网

    某种叫做的东西network-interface-security (network-interface/lo) start/running消失了。

答案1

您正在阅读的 init 已被替换为暴发户从 Edgy Eft 6.10 开始;而且,upstart 提供的程序之一是它自己的 init 实现。参考是这个文档14.04。

要更改默认运行级别,请在 /etc/init/rc-sysinit.conf 中使用您最喜欢的文本编辑器。

sudo vim /etc/init/rc-sysinit.conf

将此行更改为您想要的任何运行级别...

env DEFAULT_RUNLEVEL=2

然后,在每次启动时,upstart 将使用该运行级别。

并重新启动系统。

如果仍然无法启动,请检查所有应用程序是否已更新以及所有依赖项是否已正确安装,然后尝试在 upstart 中再次更新它们。

相关内容