使用chkconfig管理服务的runlevel
chkconfig可以管理系统服务的runlevel信息,十分方便,那么对于一个自己添加的脚本,如何用chkconfig管理起来呢?
将脚本注册为系统服务很简单,只要符合script star|stop就可以,当然也可以添加status之类的,这样我们就可以把脚本放在/etc/rc.d/init.d/目录,使用service进行start|stop等,但是这个时候还不能使用chkconfig,会提示service XXX does not support chkconfig,那么chkconfig是如何识别系统服务的呢,原来很简单:
?????? Each service which should be manageable by chkconfig needs two or more commented lines added to its init.d script. The也就是说,只要在脚本里面添加两个注释就可以了,十分简单,大家不妨尝试一下
?
?
Linux 的服务都是以脚本的方式运行的,这些服务的脚本都放在 /etc/rc.d/init.d目录下。我们可以通过修改此处的各项服务脚本控制其运行细节。
使用chkconfig 工具,可以更加简单地控制服务的运行。
用法:
chkconfig --list [name]
chkconfig --add
chkconfig --del
chkconfig --override
chkconfig [--level ]
例如,要查看所有服务的列表:
# chkconfig --list
只查看一个服务(smb)的运行级别:
# chkconfig --list smb
smb 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
上面的这条可以清晰的显示出在所有运行级别中,smb服务器是关闭的。我们可以用 下面的命令来打开。比如:让smb在3(字符)和5(图形)模式下都开机自动运行:
# chkconfig --level 35 smb on
# chkconfig --list smb
smb 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
在配置服务访问控制之前,需要先对 Linux 的运行级别 (runlevels)有所了解。在不同的运行级别下,系统所启用的服务也不相同,每个运行级别对应的 /etc/rc.d/rc[x].d目录下包含了此运行级别下的服务。
运行级别
runlevel 0:关机,不要设置为默认运行级
runlevel 1:单用户模式
runlevel 2:多用户模式,不带NFS
runlevel 3:完全的多用户模式,如果没有网络连接的话与2相同
runlevel 4: 未用
runlevel 5:图形用户模式(runlevel 3 + X 窗口系统“图形用户界面”)。
runlevel 6:? 重启,不要设成默认运行级
如果使用命令行界面的登录框,说明系统的运行级别为 3,如果使用图形界面的登录窗口,则说明系统的运行级别为 5。
通过编辑 /etc/inittab 文档,可以更改系统的默认运行级别 ,只需要将指定的运行级别替换下面这一 行中的数字 5(运行级别 5) 即可:
id:5:initdefault:
通过编辑 /etc/inittab 完成对默认运行级别的更改之后,新配置会在重新启动系统 时后生效。
查看当前运行级别
/sbin/runlevel
通过下面的命令来切换运行级别 (用数字如 3,5 等来替换 RUNLEVEL):
# /sbin/init RUNLEVEL