Debian/Ubuntu runlevel简介

  Ubuntu/Debian都是笔者最长用的Linux系统了,因为给客户部署的服务器操作系统100%都是Debian/Linux,最近传闻客户有需求想使用RedHat.无奈学习之。无意中发现RedHat的runlevel分为6个级别(大部分Linux的runlevel都是如此),而作为服务器来说因为没有图形界面,因此默认运行级别都是3。因为笔者对Linux了解不多,顺便查看了一下自己使用的Ubuntu服务器的runlevel。结果查看之下,居然是2。这让笔者有些疑惑,不适说Linuxrunlevel一般都是3吗?难道Ubuntu与其它的不同,于是笔者连接到另一台Debian服务器,结果发现如出一辙,runlevel也是2.接下来查看/etc/inittab

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

  从inittab文件中可以看出,runlevel 2-5相同。。。经过多方资料参考最后才确认此事。 Ubuntu的默认开机的runlevel是2,可以用runlevel命令来查看当前的默认运行级别。

runlevel
N 2

  debian系(ubuntu是基于debian)的Linux一直是用runlevel 2来默认启动,并且runlevel定义也与redhat有区别。

debian的runlevel级别定义如下:
0 - Halt
1 - Single
2 - Full multi-user with display manager (GUI)
3 - Full multi-user with display manager (GUI)
4 - Full multi-user with display manager (GUI)
5 - Full multi-user with display manager (GUI)
6 - Reboot

  可以发现Debian或者Ubuntu中定义的Runlevel 2~5级是没有任何区别的。而redhat的runlevel级别定义如下:

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)

  对应的配置文件夹如下:

/etc/rc0.d Run level 0
/etc/rc1.d Run level 1
/etc/rc2.d Run level 2
/etc/rc3.d Run level 3
/etc/rc4.d Run level 4
/etc/rc5.d Run level 5
/etc/rc6.d Run level 6

  Redhat默认以runlevel 5启动(server默认3),Debian/Ubuntu默认以runlevel 2启动。这里的runlevel3-5都是进入图形界面。这与其他的linux发行版不太一致,通常runlevel 3是Multi user mode,即直接登录到字符界面;而runlevel 5是Multi user mode with GUI,即登录到图形界面。

现在把runlevel3改为Multi user mode需要如下步骤:

  一、删除gdm的启动项
    找到/etc/rc3.d中的gdm项,把它删除,如果想恢复,可以重新建立一个到/etc/init.d中的gdm链接。

  二、修改默认的runlevel
    如果暂时修改,可以使用telinit N,这里的N可以是runlevel的代码[0-6]。如果想长期修改,可以在/etc/下建立inittab文件(这个文件在其他发行版中是存在的,而在Debian及其衍生版中是没有的)。文件内容如下

    id:3:initdefault:

    注意最后的冒号,这样就说明启动时默认为runlevel 3。

  sudo reboot试试看是不是到了文本界面下。
[ad#468-60]

Scroll to Top