Redhat Enterprise/CentOS Linux上的update-rc.d like命令
问题描述:
我无法在Redhat Enterprise Linux(RHEL 5)上找到类似Debian Linux update-rc.d的命令(安装和删除System-V样式的初始化脚本链接)。
您可以为同一任务指定等效命令吗?
答:
update-rc.d更新System V样式的初始化脚本链接/etc/rcrunlevel.d/NNname,其目标是脚本/etc/init.d/name。
这些链接由init更改运行级别时运行;它们通常用于启动和停止系统服务,例如守护程序。
运行级别是init支持的运行级别之一,即0123456789S,而NN是两位数字序列号,用于确定序列init将在何处运行脚本。
请注意,该程序是为在软件包维护程序脚本中使用而设计的,因此,仅具有此类脚本所需的功能非常有限。
不鼓励系统管理员使用update-rc.d来管理运行级别。
他们应该直接编辑链接,或者改用运行级别编辑器,例如sysv-rc-conf和bum。
在RHEL/CentOS下,您使用称为ntsysv或者chkconfig的命令。
Redhat ntsysv工具
ntsysv是用于配置运行级别服务的简单界面,这些服务也可以通过chkconfig进行配置。
默认情况下,它配置当前运行级别。
只需执行ntsysv并选择要运行的服务即可:
# ntsysv
Redhat chkconfig工具
chkconfig提供了一个简单的命令行工具,用于使系统管理员免于直接操纵那些目录中大量符号链接的任务,从而维护/etc/rc[0-6].d目录层次结构。
chkconfig具有五个不同的功能:添加新的管理服务,从管理中删除服务,列出服务的当前启动信息,更改服务的启动信息以及检查特定服务的启动状态。
添加名为foo的服务
此选项为chkconfig添加了新的管理服务:
# chkconfig --add foo
删除名为foo的服务
该服务已从chkconfig管理中删除,并且/etc/rc[0-6].d中与其相关的所有符号链接也已删除:
# chkconfig --del foo
列出foo服务的状态
此选项列出chkconfig知道的所有服务,以及它们在每个运行级别中是停止还是启动。
# chkconfig --list foo
打开或者关闭服务:
# chkconfig foo on # chkconfig foo off # chkconfig --level 2 foo on
请注意,级别35指定了运行级别3和5,因此下面将仅打开3和5的httpd服务:
# chkconfig --level 35 httpd on