Fedora / RHEL / CentOS用于Debian / Ubuntu的“service servicename start”是什么等价物?
我刚刚在serverfoault上读到了一些关于使用/etc/init.d/service的问题,那么Debian上的正确方法是什么?
我不知道“正确”的方式,但我总是使用invoke-rc.d
,例如重新启动MySQL:
sudo invoke-rc.d mysql restart
你总是可以直接调用启动脚本(例如/etc/init.d/foo restart)。 这也适用于RedHat变种,尽pipepath略有不同(/etc/rc.d/init.d,尽pipe我相信/etc/init.d也是它的一个符号链接)。
所有的发行版都有/etc/init.d/service ********** {start | restart | reload | stop}
在Ubuntu 9.04中,同样的service <servicename> start
适用于我。 它在sysvinit-utils包中。
在RedHat上使用/etc/init.d/foo会导致问题,如果selinux被激活,因为脚本不能正确设置上下文。 service命令始终在支持selinux的RHEL上运行。
我build议你阅读一下Upstart:
http://www.linux.com/archive/feature/125977
http://www.netsplit.com/category/tech/upstart/
它用于:
是的,这也是我使用的。 /usr/sbin/invoke-rc.d是要走的路。
无论在Redhat系统上,/etc/init.d/service仍然是Debian衍生产品的标准。