Systemd 单元激活与启用

Con*_*ine 14 startup systemd

有人可以为我澄清systemd 单元的“启用”“激活”之间的区别。据说,如果单元有 [Install] 部分,则应调用enable,否则只需激活即可

这是如何在启动过程中处理的?Systemd 会自动做出正确的决定吗?

GAD*_*D3R 22

start(激活)服务,您将运行该命令systemctl start my_service.service,这将在当前会话中立即启动该服务。

enable在启动时服务,您将运行systemctl enable my_service.service.

启用一个或多个单元或单元实例。这将创建一组符号链接,如指示单元文件的“[Install]”部分中编码的那样。创建符号链接后,重新加载系统管理器配置(以等效于 daemon-reload 的方式),以确保立即考虑更改

/usr/lib/systemd/system/包含init脚本,当你键入systemctl enable开始在开机就会被链接到一个服务/etc/systemd/system/

#systemctl enable my_service.service
ln -s '/usr/lib/systemd/system/my_service.service' '/etc/systemd/system/multi-user.target.wants/my_service.service'
Run Code Online (Sandbox Code Playgroud)


Ste*_*ris 8

systemctl enable 将系统配置为在下次重新启动时启动服务(在正确的目标状态等周围有警告)。

systemctl start 立即启动(激活)服务。

所以,如果你想有一个服务于现在和每次重新启动,那么你需要两个启动enable start服务。

  • 最后一句不正确:`systemctl enable --now` 将同时启动和启用一个单元。 (15认同)