我正在使用本教程将包从 .rpm 转换为 .deb 。但是,要测试和调试应用程序,我需要运行它。程序自述文件解释了如何将其作为服务运行:
systemctl enable progname.service
systemctl start progname.service
Run Code Online (Sandbox Code Playgroud)
这些命令在 ubuntu 上的等价物是什么?
Ely*_*Ely 13
Ubuntu 目前正在计划/开发在未来使用systemd。有关信息,请参阅以下链接:Vivid 将切换到使用 systemd 启动...和发行说明:启动和服务管理
我正在使用 14.04。
您可以使用更原生的命令update-rc.d。检查手册页。
使用默认值启用服务(参见手册页):
sudo update-rc.d foo_service defaults
Run Code Online (Sandbox Code Playgroud)
禁用服务:
sudo update-rc.d foo_service remove
Run Code Online (Sandbox Code Playgroud)
请注意,为了在没有错误消息的情况下删除foo_service文件,不得存在。但是,您可以强制:
sudo update-rc.d -f foo_service remove
Run Code Online (Sandbox Code Playgroud)
systemctl 是 systemd 的控制实用程序:
http://www.freedesktop.org/software/systemd/man/systemctl.html
请注意,Ubuntu 不使用 systemd,它使用 upstart,它在原理上做了一些相同的事情,但有一些不同的概念。
对 systemd 没有太多了解,根据我在发布的文档中阅读的内容,我认为您不需要“启用”服务。只需将您的服务的 .conf 文件放在 /etc/init 中就应该让新贵意识到它。
不过,这就是问题的关键:您的服务的 systemd 配置文件在 Ubuntu 上未经修改将无法运行,您必须将其“翻译”为 Upstart 的等效版本。以下是新贵的文档:
http://upstart.ubuntu.com/cookbook/
一旦有了合适的 upstart .conf 文件,就可以使用以下方法启动服务(我认为相当于 systemctl start):
start your-service
Run Code Online (Sandbox Code Playgroud)
14.04 上的默认包systemd-services不提供systemdctl命令。
您必须阅读文章如何安装和测试Systemd在Ubuntu 14.04忠实的塔尔羊和Ubuntu 12.04精确穿山甲,如果你想使用systemd。
有一个 PPAppa:pitti/systemd为 LTS 12.04、14.04 和即将推出的版本提供足够的包。
| 归档时间: |
|
| 查看次数: |
163058 次 |
| 最近记录: |