什么是Debian / Ubuntu上的Runlevel'S'

根据维基百科的说法 ,“S”应该是一个标准的运行级别:“单用户模式”。 但是如果我没有弄错的话,Debian上的单用户模式是运行级别1.我发现的一个Debian文章声称,“S”是一个运行级别,系统用它来运行另一个运行级别。 有趣…

实际上,到目前为止,我几乎总是忽略了这个运行级别,但是今天我用Firestarter(是的,实际上是一个最终用户防火墙)来玩,因为我很好奇,它会产生哪些防火墙规则。 但后来我注意到,它在/etc/rcS.d中创build了一个启动钩子,我想知道,如果我的防火墙脚本也应该有这个呢?

更新

现在我更感兴趣的是知道它在Debian / Ubuntu上究竟是什么,因为Shorewall包(这是一个强大的“Debianized”包)也在rcS.d中创build了它的(只有!)启动钩。

我以这种方式看待运行级别:

S - true single user mode usually drops you into a minimal root shell 1 - Administrative mode, you get a standard login request before access 2 - Multi-user without TCP/IP networking -- could use serial ports for other logins 3 - Multi-user with TCP/IP networking and text 4 - To be determined by the system owner 5 - Multi-User with TCP/IP networking and graphic console 6 - reboot 0 - shutdown and power down 

因此,如果TCP / IP启动并运行,并且通常只在Init状态3中发生,则确实需要防火墙。

运行级别1也被称为运行级别s。

在基于Debian的系统中,这是单用户 / 最小模式 。 见Debian Runlevel :

运行级别是从0到6的数字或字母S.运行级别0,6和S分别保留用于关机,重启和单用户模式。

以上所有内容似乎都围绕着对问题的直接回答。

从我所能find的, rcS.d脚本的实现就像S代表“ 启动 ”而不是“ 单一 ”。

它们都在启动时运行。 如果你想使用运行级别1,运行rc1.d中的脚本(这可能是非常空的,考虑到我们在rcS所做的所有工作)

更重要的是, rcS脚本运行在rc3的路上 – 这样,系统有效地将自己置于单用户模式,然后重新思考并决定它应该做什么。 非常混乱,大部分是不成文的。

作为certificate,如果你检查/etc/inittab ,你会发现:

  # Boot-time system configuration/initialization script.<br> # This is run first except when booting in emergency (-b) mode. si::sysinit:/etc/init.d/rcS 

其次是许多行类似于:

 l3:3:wait:/etc/init.d/rc 3 

S是单用户模式。

http://wiki.debian.org/RunLevel

除了由mdpc提供的答案外,在运行级别1中,不会启动守护进程(服务)。