什么是systemctl等效项


30

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

systemctl enable progname.service
systemctl start progname.service

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


sudo service network-manager restart 当我找到这个时我一直在寻找。
马丁·托马

截至2018年,Ubuntu确实使用了较新的systemd systemctl(Ubuntu 15.04,Debian 8,CentOS 7,Fedora 15 ...之上的任何系统也是如此)。当系统运行systemd时,旧/usr/sbin/service实用程序将调用systemctl
迈克尔,

Answers:


12

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

4
也许没有。15.04使用systemd。
muru

@muru Dou您有参考吗?请随时修改我的答案,并让人们知道。
2015年

1
后发展过程中宣布开关:lists.ubuntu.com/archives/ubuntu-devel-announce/2015-March/...,最终发布的版本说明:wiki.ubuntu.com/VividVervet/...
穆鲁

5

systemctl是systemd的控制实用程序:

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

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

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

但是,这是问题的症结所在:服务的systemd配置文件在未经修改的Ubuntu上无法正常工作,您必须将其“翻译”为Upstart的等效版本。这是暴发户的文档:

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

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

start your-service

2
问题是,从13.10开始,Ubuntu 确实使用了systemd的登录名,默认情况下,当机盖关闭时,它会挂起笔记本电脑。如果您希望它在此之前锁定屏幕,则需要将systemd服务挂在机盖上,然后执行您似乎需要的操作systemctl。例如,请参见forum.xfce.org/viewtopic.php?id=8411bbs.archlinux.org/viewtopic.php?id=148829
Douglas Bagnall 2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.