是否概述了哪个Linux发行版提供了哪个(默认) init系统,并使用了哪个工具来启动/停止服务?
是否有一些独立于发行版的方式来启动/停止/查询服务?
/etc/init.d/xyz start只适用于system init系统。service xyz start并不是在每个发行版上都可用的(哪个发行版(没有)有此功能?)背景:我们需要为不同的Linux发行版编写一个安装程序,它需要重新启动/查询服务。调用service工具是很酷的,但我不确定哪个发行版支持这一点。
发布于 2014-06-24 21:33:03
如果您正在安装此服务,那么您可能需要知道每个发行版服务管理,因为您应该正确地为要支持的那些平台编写init脚本/config。
systemctl start xyz.service Fedora 15+,RHEL7,Arch,Debian 8+,Ubuntu 15+,openSUSE 12.3+service xyz start Ubuntu,Fedora 9+,RHEL6/etc/init.d/xyz start RHEL5,Debian,Suse/etc/init.d/xyz start Gentoo,高寒(支持Net/FreeBSD)svcadm enable svc:/prefix/xyz Solaris,基于Opensolaris (illumos,smartos等)/etc/rc.d/xyz start BSDslaunchctl start xyz OSXSysV是大多数新init系统继续支持脚本的Linux标准(/etc/rc.d/xyz),因此这是您的基点。
systemd是Linux的发展方向。
我不知道有一个实用工具可以在许多平台上运行,但是大多数配置管理软件都可以进行跨平台服务管理。不幸的是,这意味着您还需要安装配置管理软件(或者至少需要底层模块和运行时ruby/python)。如果您正在管理您自己的计算机上的安装,这是很好的,因为您可以通过配置工具完成所有安装工作。如果你想把软件分发给任何人,那就不太好了。
下面的配置管理示例将与本地默认服务管理器交互,并在尚未运行的情况下启动xyz。你不需要知道更多的事情。
厨师 食谱可以管理service资源
service "xyz" do
action :start
end木偶service
service { "xyz":
ensure => "running",
}可抗service模块
- service: name=xyz state=startedhttps://unix.stackexchange.com/questions/138994
复制相似问题