更改运行级别

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

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

检入/ etc / inittab使用“chkconfig”命令来更新rcX.d目录,其中包含指向/etc/init.d条目的符号链接。

要查看以前和当前的运行级别,

[root@example ~]# runlevel N 3 

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

要暂时更改运行级别,

 [root@example ~]# init RUNLEVEL 

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

 id:5:initdefault: 

将5更改为您的首选级别。

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

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

Ubuntu已经转移到了新贵的任务select程序,所以它可能缺less/ etc / inittab,默认使用runlevel 2。 创build一个如果你想改变默认的运行级别,或者你可以通过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开头,则在该运行级别启动。

你真的问了两个问题。

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

1回答Mark( 他的回答 )

2将取决于系统。 在基于RedHat的系统(RH,YDL,Fedora等)上,你将使用chkconfig来configuration一切。 例如,要在运行级3,4和5上启动apache,你需要运行:

 chkconfig --levels 345 httpd on 

在一个gentoo系统上,你可以使用rc-update工具,然后运行这些命令:

 rc-update add apache2 default 

我真的很喜欢sysv-rc-conf

描述:
sysv-rc-conf提供了一个易于使用的界面来pipe理“/etc/rc{runlevel}.d/”符号链接。

替代文字

如果你有Ubuntu的话:sudo apt-get install sysv-rc-conf

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

简而言之:创build一个从/etc/rc.d中相应目录到守护进程开始的链接。 链接的位置决定运行级别。

对于RHEL,请在/ etc / inittab中查找以下行

 id:5:initdefault: 

此行中的数字,如果默认运行级别。 您可以将其设置为以下选项:

 # 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) 

对于服务器部分,我通常使用telinit < runlevel >或者你可以执行init < runlevel >