📅  最后修改于: 2023-12-03 15:20:26.775000             🧑  作者: Mango
Systemd 是 Linux 系统中广泛使用的 init 系统和系统管理器。它采用基于单元的启动方式,使用 unit 文件管理各种服务、套接字等资源,并使用 target 来控制系统的启动、运行和关闭。本文将介绍 Systemd 中所有可用的 target。
在 Systemd 中,target 相当于传统 Linux 系统中的运行级别(runlevel),它定义了系统要启动哪些服务,以及服务的启动顺序。target 实际上是一个目录,包含一组链接文件,这些链接文件指向各种 unit 文件。
通过 target,我们可以方便地控制系统的启动、运行和关闭。例如,可以使用 systemctl isolate
命令切换到不同的 target,实现系统的快速切换。
以下是 Systemd 中所有可用的 target。
basic.target 是 Systemd 中最基本的 target,包含以下 unit 文件:
multi-user.target 是用于正常运行的 target,类似于传统的运行级别3。包含以下 unit 文件:
graphical.target 是用于桌面环境的 target,类似于运行级别5。它包含以下 unit 文件:
rescue.target 是救援模式的 target。类似于传统的单用户模式。该目标只包含最少的 unit 文件,以允许管理员进入救援控制台并诊断问题。
halt.target 将系统关闭,告诉 Systemd 停止所有正在运行中的 unit。它包含以下 unit 文件:
poweroff.target 关闭系统,并在关闭之前关闭所有正在运行的 unit,与 halt.target 相同,不同之处在于它最终断电。它包含以下单元文件:
reboot.target 将系统重启。它包含了所有的 unit 文件,类似于 sysinit.target。
除了上述用户可用的 target,Systemd 中还有以下系统目标(system targets),这些目标为 Systemd 内部使用,通常不被用户直接使用。
以上就是 Systemd 中所有可用的 target。用户可以根据自己的需要组合这些 target,从而实现更加自定义的开机进程。