Systemd是Linux的现代初始化系统 :与受欢迎的SysV init系统和LSB init脚本兼容的系统和服务管理器。 它旨在克服SysV init的缺点,如下面的文章所述。
在像Unix系统的Linux系统中,操作系统的当前操作状态称为runleve l; 它定义了正在运行的系统服务。 在流行的初始化系统(如SysV init)下,运行级别由数字标识。 然而,在systemd运行级别被称为目标 。
建议阅读: 管理系统启动过程和服务(SysVinit,Systemd和Upstart)
在本文中,我们将介绍如何使用systemd来更改运行级别(目标)。 在我们进一步推动之前,让我们简单介绍一下运行级别数字和目标之间的关系。
- 运行级别0由poweroff.target匹配(并且runlevel1.target是到poweroff.target的符号链接)。
- 运行级别1与rescue.target匹配( runlevel1.target是到rescue.target的符号链接)。
- 运行级别 3由multiuser.target (和runlevel3.target是到multiuser.target的符号链接) 模拟 。
- 运行级别5由graphical.target (和runlevel5.target是到graphical.target的符号链接)模拟。
- 运行级别6由reboot.target (和runlevel6.target是到reboot.target的符号链接) 模拟 。
- 紧急情况与emergency.target匹配。
如何查看Systemd中的当前目标(运行级别)
系统引导时,默认情况下systemd激活default.target单位。 主要工作是通过依赖关系激活服务和其他单位。
要查看默认目标,请键入以下命令。
#systemctl get-default graphical.target
要设置默认目标,请运行以下命令。
# systemctl set-default multi-user.target
如何更改Systemd中的目标(运行级别)
系统正在运行时,您可以切换目标(运行级别),这意味着只有服务以及该目标下定义的单位现在才能在系统上运行。
要切换到运行级别3 ,请运行以下命令。
# systemctl isolate multi-user.target
要将系统更改为运行级别5 ,请键入以下命令。
# systemctl isolate graphical.target
有关systemd的更多信息,请阅读以下有用的文章:
- 如何在Linux中使用'Systemctl'来管理'Systemd'服务和单位
- 如何使用Shell脚本创建和运行Systemd中的新服务单元
- 管理系统启动过程和服务(SysVinit,Systemd和Upstart)
- 在Systemd下使用Journalctl管理日志信息[综合指南]
在本指南中,我们展示了如何使用systemd来更改运行级别(目标)。 使用下面的评论表单向我们发送有关本文的任何问题或想法。