Systemd是Linux上广泛使用的服务管理器之一,它随systemctl命令行实用程序一起提供,用于管理systemd服务,例如启动、停止、启用和禁用服务。
在本指南中,我将解释如何使用systemctl命令在Linux上启用服务,以及如何禁用它。
启用服务意味着什么?
启用服务与启动服务是不同的功能。systemctl start命令仅启动服务并保持启用状态,直到启动前手动停止服务或系统重新启动。另一方面,启用服务意味着服务将在引导时启动。
启用后,服务会在目标目录中创建一个符号链接,以确保服务在引导时被启用。在服务文件的[install]部分中使用WantedBy指令指定目标。
在上图中,目标是www.example.com,它指示系统的运行级别。www.example.com意味着当系统达到提供多用户非图形会话的状态时,该服务将被启用。
如何在Linux上启用服务
在启用服务之前,首先,使用systemctl中的is—enabled选项检查它是否已经启用或禁用。
sudo systemctl is enabled [Service—Name]
要使一个或多个服务在引导时启动,请使用带Enable选项的systemctl命令。
sudo systemctl enable [Service—Name]
在上面的命令中,将[Service—Name]替换为服务的名称或服务的路径。
例如,启用SSH服务。
sudo systemctl启用ssh. service
在启用时,它在/etc/systemd/system中创建一个多用户. target. wants目录,其中包含指向服务文件的符号链接。
使用systemctl enable命令启用服务不会激活该服务。若要启用服务并立即启动,请使用启用和—now选项.
sudo systemctl enable——now [Service—Name]
如何在Linux上重新启用服务
重新启用服务意味着先禁用该服务,然后再启用它。它删除服务的符号链接并重新创建它们。
SUDO系统ctl重新启用[服务名称]
让我们使用上面的命令重新启用SSH服务。
Sudo system ctl重新启用ssh.service
从输出中可以看到,首先删除/etc/systemd/system目录中的符号链接文件,然后再重新创建。它不会启动或停止该服务;该服务将保持其原始状态。
请注意,重新启用只接受服务名称,而不接受路径。
如何在Linux上禁用服务
使用systemctl和disable选项禁用一个或多个服务。
SUDO系统ctl禁用[服务名称]
它不采用服务文件的路径。
例如,让我们禁用ssh服务。
sudo systemctl禁用ssh. service
禁用该服务不会停止该服务,因为它将继续运行,除非手动停止该服务或重新启动系统。
要立即禁用和停止该服务,请将-now选项与system ctl一起使用。
SUDO系统ctl禁用--现在[服务名称]
结论
要将服务设置为在引导时启用,可使用带Enable选项的systemctl命令。它采用一个或多个服务/单元名称或路径。在本教程中,我介绍了如何启用服务以及如何重新启用服务。此外,我还考虑了禁用服务命令的问题。要了解有关系统ctl命令行实用程序的更多信息,请使用man systemctl命令。