更改运行级别

Pet*_*ner 3 linux inittab

我总是忘记如何做到这一点,如何更改服务器/守护程序的 inittab 运行级别?

Aar*_* K. 10

要查看上一个和当前运行级别,

[root@example ~]# runlevel
N 3
Run Code Online (Sandbox Code Playgroud)

这里没有以前的运行级别,当前的运行级别是 3。

要临时更改运行级别,

[root@example ~]# init RUNLEVEL
Run Code Online (Sandbox Code Playgroud)

要永久更改机器的默认运行级别,请更改 /etc/inittab 的

id:5:initdefault:
Run Code Online (Sandbox Code Playgroud)

将 5 更改为您喜欢的级别。

如果您使用的是 RHEL 或 CentOS 等克隆发行版之一,则服务器的默认运行级别为 3,桌面应自动启动 X 的默认运行级别为 5。

如果您使用的是 Debian 或其各种分支,则默认运行级别将为 2。

Ubuntu 已经转移到 upstart 任务选择程序,所以它可能缺少 /etc/inittab 并且默认使用运行级别 2。如果您想更改默认运行级别,请创建一个,或者您可以将运行级别作为启动的一部分通过 grub 传递。

要更改守护程序的运行级别:

如果您使用 RHEL 或其他基于 RPM 的发行版,chkconfig 可能是最方便的方法。

[root@example ~]# chkconfig --list ntpd
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@example ~]# chkconfig ntpd on
[root@example ~]# chkconfig ntpd off
[root@example ~]# chkconfig --level 2,5 ntpd on 
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 Debian,我通常会手动更改每个运行级别的守护程序状态。

[root@example ~]# ls /etc/rc2.d/*ntp*
/etc/rc2.d/S23ntp
[root@example ~]# cd /etc/rc2.d/
[root@example rc2.d]# mv K23ntpd S23ntpd
Run Code Online (Sandbox Code Playgroud)

如果守护程序的符号链接以 K 开头,则它会在该运行级别停止。如果它以 S 开头,则在该运行级别启动。