更改运行级别

更改运行级别

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

答案1

有几个不同的地方。但是,以下内容应该涵盖了大部分内容:

检查 /etc/inittab 使用“chkconfig”命令来更新 rcX.d 目录以及指向 /etc/init.d 条目的符号链接。

答案2

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

[root@example ~]# runlevel
N 3

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

要临时更改运行级别,

[root@example ~]# init RUNLEVEL

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

id:5:initdefault:

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

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

如果您使用 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 

如果您使用的是 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

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

答案3

你实际上问了两个问题。

  1. 如何更改服务器的默认运行级别
  2. 如何更改守护进程运行的运行级别。

1 是由 Mark 回答的(他的答案

2 将依赖于系统。在基于 RedHat 的系统(RH、YDL、Fedora 等)上,您将使用 chkconfig 来配置所有内容。例如,要让 apache 在运行级别 3、4 和 5 启动,您将运行:

chkconfig --levels 345 httpd on

在 gentoo 系统上,您可以使用 rc-update 工具,并运行以下命令:

rc-update add apache2 default

答案4

守护进程通常从 /etc/rc.d/ 或 /etc/init.d 中的脚本启动,从运行级别特定的目录 (例如 /etc/rc0.d 到 /etc/rc6.d) 有到相应启动脚本的符号链接

简而言之:从 /etc/rc.d 中的相应目录创建到守护进程的启动脚本的链接。链接的位置决定了运行级别。

相关内容