什么是systemctl等价物

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

systemctl enable progname.service systemctl start progname.service 

ubuntu对这些命令的等价物是什么?

Ubuntu目前正计划/开发将来使用systemd 。 有关信息,请参阅以下链接: Vivid将切换到使用systemd启动…和发行说明:启动和服务管理

我使用的是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的知识,并且基于我在我发布的文档中读到的内容,我认为您不需要“启用”服务。 只需在/ etc / init中删除服务的.conf文件就可以让它意识到它。

这就是问题的关键所在:你的服务的systemd配置文件在Ubuntu上不会被修改,你必须将它“翻译”为Upstart的等效版本。 这是upstart的文档:

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

一旦你有了一个合适的upstart .conf文件,你可以使用以下命令启动一个服务(相当于我认为,对于systemctl启动):

 start your-service 

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

如果你想使用systemd必须阅读文章如何安装和测试系统在Ubuntu 14.04 Trusty Tahr和Ubuntu 12.04精确穿山甲 。

Pitti PPA

有一个PPA ppa:pitti/systemd为LTS 12.04,14.04和即将推出的LTS提供了足够的包。