📜  systemd 列出所有可用目标 (1)

📅  最后修改于: 2023-12-03 15:20:26.775000             🧑  作者: Mango

Systemd 列出所有可用目标

Systemd 是 Linux 系统中广泛使用的 init 系统和系统管理器。它采用基于单元的启动方式,使用 unit 文件管理各种服务、套接字等资源,并使用 target 来控制系统的启动、运行和关闭。本文将介绍 Systemd 中所有可用的 target。

Target 是什么?

在 Systemd 中,target 相当于传统 Linux 系统中的运行级别(runlevel),它定义了系统要启动哪些服务,以及服务的启动顺序。target 实际上是一个目录,包含一组链接文件,这些链接文件指向各种 unit 文件。

通过 target,我们可以方便地控制系统的启动、运行和关闭。例如,可以使用 systemctl isolate 命令切换到不同的 target,实现系统的快速切换。

以下是 Systemd 中所有可用的 target。

basic.target

basic.target 是 Systemd 中最基本的 target,包含以下 unit 文件:

  • auditd.service:提供安全审计的服务。
  • systemd-tmpfiles-setup.service:用于清理后续启动时产生的临时文件。
  • sysinit.target:该 target 包含系统启动的大部分基本 unit 文件,例如打开所有设备 special 文件、挂载文件系统等。
multi-user.target

multi-user.target 是用于正常运行的 target,类似于传统的运行级别3。包含以下 unit 文件:

  • getty@.service:提供以 tty 作为登录终端的 getty。
  • sshd.service:SSHD 服务器作为远程访问的服务。
  • systemd-user-sessions.service:为用户会话提供支持。
  • user@.service:以用户身份启动用户服务。
graphical.target

graphical.target 是用于桌面环境的 target,类似于运行级别5。它包含以下 unit 文件:

  • display-manager.service:用于在图形环境中运行的显示管理器。
  • plymouth-start.service:主题和动画特效服务。
  • plymouth-quit-wait.service:控制 Plymouth 播放完毕后何时开始启动 X 服务器。
  • sound.target:启用声音。
rescue.target

rescue.target 是救援模式的 target。类似于传统的单用户模式。该目标只包含最少的 unit 文件,以允许管理员进入救援控制台并诊断问题。

  • rescue.service:进入救援模式,并启动 Linux 系统时挂载到 /sysroot。
halt.target

halt.target 将系统关闭,告诉 Systemd 停止所有正在运行中的 unit。它包含以下 unit 文件:

  • shutdown.target:所有正在运行中的服务都将停止,并对所有文件系统进行卸载。
poweroff.target

poweroff.target 关闭系统,并在关闭之前关闭所有正在运行的 unit,与 halt.target 相同,不同之处在于它最终断电。它包含以下单元文件:

  • shutdown.target:所有正在运行中的服务都将停止,并对所有文件系统进行卸载。
reboot.target

reboot.target 将系统重启。它包含了所有的 unit 文件,类似于 sysinit.target。

系统目标(System targets)

除了上述用户可用的 target,Systemd 中还有以下系统目标(system targets),这些目标为 Systemd 内部使用,通常不被用户直接使用。

  • emergency.target
  • local-fs.target
  • multi-instance.target
  • network-online.target
  • network-pre.target
  • nss-user-lookup.target
  • paths.target
  • remote-fs.target
  • sockets.target
  • swap.target
  • sysinit.target
  • time-sync.target

以上就是 Systemd 中所有可用的 target。用户可以根据自己的需要组合这些 target,从而实现更加自定义的开机进程。