当前位置: 首页>>技术问答>>正文


什么是systemctl等效项

, , ,

问题描述

我正在使用this tutorial将包从.rpm转换为.deb。但是,要测试和调试应用程序,我需要运行它。程序自述文件解释了如何使用以下命令将其作为服务运行:

systemctl enable progname.service
systemctl start progname.service

这些命令在ubuntu上相当于什么?

最佳解决办法

Ubuntu目前正在计划/开发将来使用systemd。有关信息,请参见以下链接:Vivid will switch to booting with systemd…Release notes: Boot and service management

我正在使用14.04。

您可以使用更多本地命令update-rc.d。检查手册页。

使用默认值启用服务(请参见手册页):

sudo update-rc.d foo_service defaults

禁用服务:

sudo update-rc.d foo_service remove

请注意,为了删除而没有错误消息,foo_service文件必须不存在。但是,您可以强制执行以下操作:

sudo update-rc.d -f foo_service remove

次佳解决办法

systemctl是systemd的控制实用程序:

http://www.freedesktop.org/software/systemd/man/systemctl.html

请注意,Ubuntu不使用systemd,而是使用upstart,它在原则上做了一些相同的事情,但是有一些不同的概念。

没有足够的有关systemd的知识,并且根据我在发布的文档中阅读的内容,我认为您不需要”enable”服务。只需将/conf /init中用于服务的.conf文件删除,就应该让新贵意识到这一点。

不过,这是问题的症结所在:服务的systemd配置文件无法在Ubuntu上未经修改地工作,您必须”translate”才能将其与Upstart的等效版本结合使用。这是暴发户的文档:

http://upstart.ubuntu.com/cookbook/

一旦有了合适的upstart .conf文件,就可以使用以下命令启动服务(相当于systemctl start):

start your-service

第三种解决办法

14.04上的默认程序包是systemd-services,它不提供systemdctl命令。

Read

如果要使用systemd,则必须阅读文章How To Install And Test Systemd On Ubuntu 14.04 Trusty Tahr And Ubuntu 12.04 Precise Pangolin

Pitti PPA

有一个PPA ppa:pitti/systemd,可为LTS 12.04、14.04及以后的版本提供足够的软件包。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7248.html,未经允许,请勿转载。