当前位置:首页>Linux>Linux Systemd一统江湖

Linux Systemd一统江湖

  • 2026-09-08 17:16:44
Linux Systemd一统江湖
一、概述
Linux系统启动后的1号进程是init,但是现在init是一个到systemd的符号连接。所以init就是systemd,systemd就是init:
$ ls -l /sbin/initlrwxrwxrwx 1 root root 20  8月 26  2025 /sbin/init -> /lib/systemd/systemd$ ls -l /sbin/haltlrwxrwxrwx 1 root root 28  7月 10  2019 /sbin/halt -> /lib/molly-guard/molly-guard$ ls -l /sbin/rebootlrwxrwxrwx 1 root root 28  7月 10  2019 /sbin/reboot -> /lib/molly-guard/molly-guard$ ls -l /sbin/powerofflrwxrwxrwx 1 root root 28  7月 10  2019 /sbin/poweroff -> /lib/molly-guard/molly-guard$ ls -l /sbin/telinitlrwxrwxrwx 1 root root 14  8月 26  2025 /sbin/telinit -> /bin/systemctl$ ls -l /sbin/runlevellrwxrwxrwx 1 root root 14  8月 26  2025 /sbin/runlevel -> /bin/systemctl
这里有个奇怪的问题,Linux启动过程中,内核先完成它的启动过程,然后再轮到用户态部分。内核启动过程中会创建许多的内核线程,凭什么你一个用户态的init占了1号进程的位置?比如下面的ps显示init的pid是1,而随后一系列的[xxxx]内核线程pid都往后排:
##ps -axps -ax    PID TTY      STAT   TIME COMMAND      1 ?        Ss     3:13 /sbin/init splash      2 ?        S      0:01 [kthreadd]      3 ?        S      0:00 [pool_workqueue_release]      4 ?        I<     0:00 [kworker/R-rcu_g]      5 ?        I<     0:00 [kworker/R-rcu_p]      6 ?        I<     0:00 [kworker/R-slub_]      7 ?        I<     0:00 [kworker/R-netns]      9 ?        I<     0:00 [kworker/0:0H-events_highpri]     12 ?        I<     0:00 [kworker/R-mm_pe]     13 ?        I      0:00 [rcu_tasks_kthread]     ......
答案是PID 0是内核本身,最后藏功名于idle进程。它是内核启动时自然存在的第一个上下文。它不通过 fork 产生,而是内核自身的执行流。当内核完成硬件初始化后,它会调用 kernel_thread() 创建两个关键的逻辑分支:一个分支演变为 PID 1(最终执行用户态的 init),另一个分支演变为 PID 2(kthreadd,负责管理所有其他的内核线程)。

当作为系统实例运行时,systemd 会解析配置文件 system.conf 以及 system.conf.d 目录下的文件。

二、Systemd的Unit

Systemd 将系统管理的各种对象抽象为 Unit(单元)。目前 systemd 共有 11 种 不同的 Unit 类型,涵盖了从进程控制到挂载管理的方方面面:

11 种 Unit 类型概览:

  1. Service: 最常用,用于管理后台守护进程。

  2. Socket: 封装 IPC 或网络套接字,支持“按需启动”(Socket Activation)。

  3. Target: 逻辑组,用于同步启动点(如 multi-user.target)。

  4. Device: 将内核设备暴露在 systemd 中,实现基于设备的启动。

  5. Mount / Automount: 控制文件系统挂载及自动挂载。

  6. Timer: 替代传统的 cron,基于时间触发任务。

  7. Swap: 管理交换分区或文件。

  8. Path: 监控文件路径变化并触发服务。

  9. Slice / Scope: 资源管理利器,利用 cgroups 限制进程的资源占用。

每一个 Unit 都有其生命周期状态:

  • Active: 已启动、已绑定或已接入。

  • Inactive: 已停止、已断开。

  • Activating / Deactivating: 处于启动或停止的中间过渡状态。

  • Failed: 一个特殊的 Inactive 状态,代表服务因崩溃、超时或退出码异常而失败。

三、Unit文件结构

在 systemd 中,Unit通过Unit files进行定义。

单元文件采用简单的声明式语法,通常包含多个“小节”(Section),每个小节内包含若干“指令”(Directive):

[Unit]Description=usbguard                  # 1. 简要描述服务用途[Service]ExecStart=/usr/sbin/usb-daemon        # 2. 启动服务时执行的程序路径[Install]WantedBy=multi-user.target            # 3. 定义依赖关系(此处指在多用户模式下启动)

Systemd 将“依赖关系”与“启动顺序”拆分为两个独立的概念。

依赖关系 (Dependencies):   决定了单元之间的存亡关系:

  • Wants=:弱依赖。如果 A 想要 B,A 启动时会尝试启动 B,但 B 是否启动成功不影响 A。

  • Requires=:强依赖。如果 A 需要 B,且 B 启动失败,则 A 也会被停止或激活失败。

启动顺序 (Order):  决定了单元启动的先后顺序。如果没有设置顺序,systemd 会并发启动所有单元:

  • Before=:如果 A 有 Before=B,则 A 完全启动后才开始执行 B。

  • After=:如果 A 有 After=B,则 B 完全启动后才开始执行 A。

Systemd使用Unit和Target协同工作。Systemd Unit定义系统上的服务或操作,包含名称、类型和配置文件;Systemd Target则组合多个单元,定义达到该Target所需启动的服务。例如,在服务器上,Target状态可能是「网络已运行且多用户可登录」。这些Target文件以.target为后缀。

与Unit配置文件类似,不同Target可以通过依赖关系嵌套。例如,multi-user.target依赖(包括)那些用于设置登录和用户会话服务的目标。

常见的Systemd目标

  • default.target:默认启动目标,是一个符号链接,指向实际的目标文件(如桌面工作站指向graphical.target,服务器通常也指向graphical.target)。

  • poweroff.target:关闭并切断系统电源。

  • rescue.target:启动基础系统并开启救援shell会话的目标单元。

  • multi-user.target:设置非图形化(控制台)多用户系统。

  • graphical.target:使用带有网络服务的图形化多用户系统。

  • reboot.target:关闭并重启系统。

  • runlevel0.target-runlevel6.target:alias到其它target,比如runlevel1.target到rescue.target 

ls -l /lib/systemd/system/runlevel0.target/lib/systemd/system/runlevel0.target -> poweroff.target

四、systemctl命令概述

Systemctl命令用于检查和控制systemd及服务管理器的状态,以下是常用命令(更详细信息可参考man systemctl手册)。

查看systemd信息: 要查看systemd组件的相关信息,可使用以下命令:

  • systemctl list-units:列出systemd单元。可使用可选参数:--state=running(显示活跃单元)、--type=service(显示已退出和活跃的服务单元)。

  • systemctl list-unit-files:列出systemd单元及其状态(如static、generated、disabled、alias、masked、enabled)。

  • systemctl list-dependencies:列出依赖树。

  • systemctl list-dependencies UNIT_FILE:列出指定单元配置文件的依赖项(UNIT_FILE替换为实际单元文件名)。

管理systemd服务:systemctl命令可用于执行以下服务管理操作:

  • systemctl status SERVICE:检查指定服务的状态(SERVICE替换为实际服务名)。

  • systemctl show SERVICE:显示指定服务的详细信息。

  • systemctl start SERVICE:启动指定服务(无需手动启动)。当修改服务配置文件后,需重新启动该服务。

  • systemctl stop SERVICE:停止指定的运行中服务。

  • systemctl restart SERVICE:重启指定服务(无需手动重启)。当修改服务配置文件后,需重启该服务。

  • systemctl enable SERVICE:设置服务开机自启。

  • systemctl disable SERVICE:取消服务开机自启。

  • systemctl reload-or-restart SERVICE:若服务支持重新加载配置,则重新加载;否则重启服务。若服务未运行,则直接启动。

  • systemctl mask SERVICE:屏蔽服务。屏蔽后,单元配置文件会被符号链接到/dev/null(链接路径为/etc/systemd/system/服务名.service → /dev/null),即使其他已启用的服务依赖该服务,也无法加载它。被屏蔽的服务需手动停止,否则会在后台继续运行。可使用--runtime选项,仅临时屏蔽至下次系统重启。示例输出:Created symlink /etc/systemd/system/FOSSLinux.service → /dev/null.

  • systemctl unmask SERVICE:取消屏蔽服务,在系统启动或手动重启服务时生效。

管理系统状态:systemctl命令可用于执行系统电源管理操作,如下所示:

  • systemctl reboot:重启系统(对应reboot.target)。

  • systemctl poweroff:关闭系统电源(对应poweroff.target)。

  • systemctl emergency:进入紧急模式(对应emergency.target)。

  • systemctl default:返回默认目标(对应multi-user.target)。

五、Systemd故障排查

以下故障排查技巧可帮助识别和解决systemd服务相关问题,确保系统平稳运行。

1. 检查单元配置文件语法

启动或启用systemd服务前,使用systemd-analyze verify SERVICE命令检查单元配置文件的语法,确保无错误。示例:

sudo systemd-analyze verify /etc/systemd/system/my-custom-service.service

该命令会分析单元配置文件,报告语法错误、缺失文件或其他问题。启用和启动服务前,必须修复所有报告的问题。

2. 查看服务日志

若systemd服务出现问题,使用journalctl -u SERVICE命令查看服务日志。示例:

sudo journalctl -u my-custom-service.service

该命令会显示指定服务的日志,包括错误信息、警告或其他相关内容,可通过这些日志识别并修复服务问题。

3. 可视化启动过程

若服务在启动过程中出现问题,使用systemd-analyze plot命令可视化启动过程,识别问题所在。示例:

sudo systemd-analyze plot > boot-plot.svg

该命令会生成一个名为boot-plot.svg的SVG文件,包含启动过程的图形化表示和潜在问题(包括每个服务的启动和停止时间)。可使用支持SVG格式的图片查看器或浏览器打开该文件,分析启动过程中出现问题的服务。

4. 排查失败的服务

查看已失败的服务并检查日志输出:

sudo systemctl --state=failed

5. 检查服务运行时状态

查看指定服务的当前运行时状态:

sudo systemctl status SERVICE

6. 解决关机/重启缓慢问题

若关机或重启过程缓慢,可能是某个服务无法正常退出——systemd会等待一段时间让每个服务退出,再尝试强制终止。常见问题包括服务挂起或关机停滞。可通过以下命令排查:

sudo systemctl poweroff# 可能出现的错误提示:Failed to power off system via logind: There's already a shutdown or sleep operation in progress

查看当前排队的作业:

sudo systemctl list-jobs

可取消运行中和等待中的作业,再执行关机或重启:

sudo systemctl cancelsudo systemctl stop systemd-suspend.service

六、其他核心特性

1. 控制组(cgroups)集成

systemd启动的进程会被放入以单元名称命名的Linux控制组(cgroups)中,位于systemd私有层级。这使得systemd能有效跟踪和管理进程,控制组信息可通过以下方式查看:

  • 文件系统:/sys/fs/cgroup/systemd/;

  • 工具:systemd-cgls(1)、ps(1)(推荐命令:ps xawf -eo pid,user,cgroup,args,可查看所有进程及其所属的systemd单元)。

2. 与SysV init兼容

Systemd在很大程度上兼容传统的SysV init系统,支持:

  • 读取SysV init脚本(作为替代配置格式,功能有限);

  • 提供SysV的/dev/initctl接口;

  • 提供各类SysV客户端工具的兼容实现;

  • 支持传统Unix功能(如/etc/fstab、utmp数据库)。

3. 原生启动任务

Systemd内置了多种启动过程中必需的任务实现,无需依赖外部工具,例如:

  • 设置主机名;

  • 配置回环网络设备;

  • 设置和挂载/sys/、/proc/等API文件系统。

4. 动态单元生成

单元可在系统启动或systemd管理器重载时,根据其他配置文件或内核命令行参数动态生成,详细可参考systemd.generator(7) 手册。

5. D-Bus API与接口规范

  • systemd的D-Bus API文档:org.freedesktop.systemd1(5)、org.freedesktop.LogControl1(5);

  • 容器环境中运行systemd:需实现Container Interface规范;

  • initrd环境中运行systemd:需实现initrd Interface规范。

附录:

Ubuntu中,init这个符号链接在systemd-sysv的package中:

dpkg -L systemd-sysv | grep /sbin//sbin/halt/sbin/init/sbin/poweroff/sbin/reboot/sbin/runlevel/sbin/shutdown/sbin/telinit
systemd package的文件列表:
/./bin/bin/journalctl/bin/loginctl/bin/networkctl/bin/systemctl/bin/systemd-ask-password/bin/systemd-escape/bin/systemd-inhibit/bin/systemd-machine-id-setup/bin/systemd-notify/bin/systemd-sysext/bin/systemd-sysusers/bin/systemd-tmpfiles/bin/systemd-tty-ask-password-agent/etc/etc/binfmt.d/etc/init.d/etc/kernel/etc/kernel/install.d/etc/modules-load.d/etc/sysctl.d/etc/systemd/etc/systemd/journald.conf/etc/systemd/logind.conf/etc/systemd/network/etc/systemd/networkd.conf/etc/systemd/pstore.conf/etc/systemd/resolved.conf/etc/systemd/sleep.conf/etc/systemd/system/etc/systemd/system.conf/etc/systemd/user/etc/systemd/user.conf/etc/tmpfiles.d/etc/xdg/etc/xdg/systemd/lib/lib/lsb/lib/lsb/init-functions.d/lib/lsb/init-functions.d/40-systemd/lib/modprobe.d/lib/modprobe.d/systemd.conf/lib/systemd/lib/systemd/network/lib/systemd/network/80-container-host0.network/lib/systemd/network/80-container-ve.network/lib/systemd/network/80-container-vz.network/lib/systemd/network/80-vm-vt.network/lib/systemd/network/80-wifi-adhoc.network/lib/systemd/network/80-wifi-ap.network.example/lib/systemd/network/80-wifi-station.network.example/lib/systemd/resolv.conf/lib/systemd/system/lib/systemd/system/basic.target/lib/systemd/system/blockdev@.target/lib/systemd/system/bluetooth.target/lib/systemd/system/boot-complete.target/lib/systemd/system/console-getty.service/lib/systemd/system/container-getty@.service/lib/systemd/system/cryptsetup-pre.target/lib/systemd/system/cryptsetup.target/lib/systemd/system/debug-shell.service/lib/systemd/system/dev-hugepages.mount/lib/systemd/system/dev-mqueue.mount/lib/systemd/system/emergency.service/lib/systemd/system/emergency.target/lib/systemd/system/exit.target/lib/systemd/system/final.target/lib/systemd/system/first-boot-complete.target/lib/systemd/system/getty-pre.target/lib/systemd/system/getty-static.service/lib/systemd/system/getty.target/lib/systemd/system/getty.target.wants/lib/systemd/system/getty@.service/lib/systemd/system/graphical.target/lib/systemd/system/graphical.target.wants/lib/systemd/system/halt.target/lib/systemd/system/hibernate.target/lib/systemd/system/hybrid-sleep.target/lib/systemd/system/initrd-cleanup.service/lib/systemd/system/initrd-fs.target/lib/systemd/system/initrd-parse-etc.service/lib/systemd/system/initrd-root-device.target/lib/systemd/system/initrd-root-device.target.wants/lib/systemd/system/initrd-root-fs.target/lib/systemd/system/initrd-switch-root.service/lib/systemd/system/initrd-switch-root.target/lib/systemd/system/initrd-udevadm-cleanup-db.service/lib/systemd/system/initrd-usr-fs.target/lib/systemd/system/initrd.target/lib/systemd/system/kexec.target/lib/systemd/system/kmod-static-nodes.service/lib/systemd/system/local-fs-pre.target/lib/systemd/system/local-fs.target/lib/systemd/system/local-fs.target.wants/lib/systemd/system/machine.slice/lib/systemd/system/modprobe@.service/lib/systemd/system/multi-user.target/lib/systemd/system/multi-user.target.wants/lib/systemd/system/network-online.target/lib/systemd/system/network-pre.target/lib/systemd/system/network.target/lib/systemd/system/nss-lookup.target/lib/systemd/system/nss-user-lookup.target/lib/systemd/system/paths.target/lib/systemd/system/poweroff.target/lib/systemd/system/printer.target/lib/systemd/system/proc-sys-fs-binfmt_misc.automount/lib/systemd/system/proc-sys-fs-binfmt_misc.mount/lib/systemd/system/quotaon.service/lib/systemd/system/rc-local.service/lib/systemd/system/rc-local.service.d/lib/systemd/system/rc-local.service.d/debian.conf/lib/systemd/system/reboot.target/lib/systemd/system/remote-cryptsetup.target/lib/systemd/system/remote-fs-pre.target/lib/systemd/system/remote-fs.target/lib/systemd/system/remote-veritysetup.target/lib/systemd/system/rescue.service/lib/systemd/system/rescue.target/lib/systemd/system/rescue.target.wants/lib/systemd/system/rpcbind.target/lib/systemd/system/runlevel1.target.wants/lib/systemd/system/runlevel2.target.wants/lib/systemd/system/runlevel3.target.wants/lib/systemd/system/runlevel4.target.wants/lib/systemd/system/runlevel5.target.wants/lib/systemd/system/serial-getty@.service/lib/systemd/system/shutdown.target/lib/systemd/system/sigpwr.target/lib/systemd/system/sleep.target/lib/systemd/system/slices.target/lib/systemd/system/smartcard.target/lib/systemd/system/sockets.target/lib/systemd/system/sockets.target.wants/lib/systemd/system/sound.target/lib/systemd/system/suspend-then-hibernate.target/lib/systemd/system/suspend.target/lib/systemd/system/swap.target/lib/systemd/system/sys-fs-fuse-connections.mount/lib/systemd/system/sys-kernel-config.mount/lib/systemd/system/sys-kernel-debug.mount/lib/systemd/system/sys-kernel-tracing.mount/lib/systemd/system/sysinit.target/lib/systemd/system/sysinit.target.wants/lib/systemd/system/syslog.socket/lib/systemd/system/system-systemd\x2dcryptsetup.slice/lib/systemd/system/system-update-cleanup.service/lib/systemd/system/system-update-pre.target/lib/systemd/system/system-update.target/lib/systemd/system/systemd-ask-password-console.path/lib/systemd/system/systemd-ask-password-console.service/lib/systemd/system/systemd-ask-password-wall.path/lib/systemd/system/systemd-ask-password-wall.service/lib/systemd/system/systemd-backlight@.service/lib/systemd/system/systemd-binfmt.service/lib/systemd/system/systemd-bless-boot.service/lib/systemd/system/systemd-boot-check-no-failures.service/lib/systemd/system/systemd-boot-system-token.service/lib/systemd/system/systemd-exit.service/lib/systemd/system/systemd-fsck-root.service/lib/systemd/system/systemd-fsck@.service/lib/systemd/system/systemd-fsckd.service/lib/systemd/system/systemd-fsckd.socket/lib/systemd/system/systemd-halt.service/lib/systemd/system/systemd-hibernate-resume@.service/lib/systemd/system/systemd-hibernate.service/lib/systemd/system/systemd-hostnamed.service/lib/systemd/system/systemd-hybrid-sleep.service/lib/systemd/system/systemd-initctl.service/lib/systemd/system/systemd-initctl.socket/lib/systemd/system/systemd-journal-flush.service/lib/systemd/system/systemd-journald-audit.socket/lib/systemd/system/systemd-journald-dev-log.socket/lib/systemd/system/systemd-journald-varlink@.socket/lib/systemd/system/systemd-journald.service/lib/systemd/system/systemd-journald.socket/lib/systemd/system/systemd-journald@.service/lib/systemd/system/systemd-journald@.socket/lib/systemd/system/systemd-kexec.service/lib/systemd/system/systemd-localed.service/lib/systemd/system/systemd-localed.service.d/lib/systemd/system/systemd-localed.service.d/locale-gen.conf/lib/systemd/system/systemd-logind.service/lib/systemd/system/systemd-machine-id-commit.service/lib/systemd/system/systemd-modules-load.service/lib/systemd/system/systemd-network-generator.service/lib/systemd/system/systemd-networkd-wait-online.service/lib/systemd/system/systemd-networkd.service/lib/systemd/system/systemd-networkd.socket/lib/systemd/system/systemd-poweroff.service/lib/systemd/system/systemd-pstore.service/lib/systemd/system/systemd-quotacheck.service/lib/systemd/system/systemd-random-seed.service/lib/systemd/system/systemd-reboot.service/lib/systemd/system/systemd-remount-fs.service/lib/systemd/system/systemd-resolved.service/lib/systemd/system/systemd-rfkill.service/lib/systemd/system/systemd-rfkill.socket/lib/systemd/system/systemd-suspend-then-hibernate.service/lib/systemd/system/systemd-suspend.service/lib/systemd/system/systemd-sysctl.service/lib/systemd/system/systemd-sysext.service/lib/systemd/system/systemd-sysusers.service/lib/systemd/system/systemd-time-wait-sync.service/lib/systemd/system/systemd-timedated.service/lib/systemd/system/systemd-tmpfiles-clean.service/lib/systemd/system/systemd-tmpfiles-clean.timer/lib/systemd/system/systemd-tmpfiles-setup-dev.service/lib/systemd/system/systemd-tmpfiles-setup.service/lib/systemd/system/systemd-update-utmp-runlevel.service/lib/systemd/system/systemd-update-utmp.service/lib/systemd/system/systemd-user-sessions.service/lib/systemd/system/systemd-volatile-root.service/lib/systemd/system/time-set.target/lib/systemd/system/time-sync.target/lib/systemd/system/timers.target/lib/systemd/system/timers.target.wants/lib/systemd/system/umount.target/lib/systemd/system/usb-gadget.target/lib/systemd/system/user-.slice.d/lib/systemd/system/user-.slice.d/10-defaults.conf/lib/systemd/system/user-runtime-dir@.service/lib/systemd/system/user.slice/lib/systemd/system/user@.service/lib/systemd/system/user@.service.d/lib/systemd/system/user@.service.d/timeout.conf/lib/systemd/system/veritysetup-pre.target/lib/systemd/system/veritysetup.target/lib/systemd/system-generators/lib/systemd/system-generators/systemd-bless-boot-generator/lib/systemd/system-generators/systemd-cryptsetup-generator/lib/systemd/system-generators/systemd-debug-generator/lib/systemd/system-generators/systemd-fstab-generator/lib/systemd/system-generators/systemd-getty-generator/lib/systemd/system-generators/systemd-gpt-auto-generator/lib/systemd/system-generators/systemd-hibernate-resume-generator/lib/systemd/system-generators/systemd-rc-local-generator/lib/systemd/system-generators/systemd-run-generator/lib/systemd/system-generators/systemd-system-update-generator/lib/systemd/system-generators/systemd-sysv-generator/lib/systemd/system-generators/systemd-veritysetup-generator/lib/systemd/system-preset/lib/systemd/system-preset/90-systemd.preset/lib/systemd/system-shutdown/lib/systemd/system-sleep/lib/systemd/systemd/lib/systemd/systemd-ac-power/lib/systemd/systemd-backlight/lib/systemd/systemd-binfmt/lib/systemd/systemd-bless-boot/lib/systemd/systemd-boot-check-no-failures/lib/systemd/systemd-cgroups-agent/lib/systemd/systemd-cryptsetup/lib/systemd/systemd-fsck/lib/systemd/systemd-fsckd/lib/systemd/systemd-growfs/lib/systemd/systemd-hibernate-resume/lib/systemd/systemd-hostnamed/lib/systemd/systemd-initctl/lib/systemd/systemd-journald/lib/systemd/systemd-localed/lib/systemd/systemd-logind/lib/systemd/systemd-makefs/lib/systemd/systemd-modules-load/lib/systemd/systemd-network-generator/lib/systemd/systemd-networkd/lib/systemd/systemd-networkd-wait-online/lib/systemd/systemd-pstore/lib/systemd/systemd-quotacheck/lib/systemd/systemd-random-seed/lib/systemd/systemd-remount-fs/lib/systemd/systemd-reply-password/lib/systemd/systemd-resolved/lib/systemd/systemd-rfkill/lib/systemd/systemd-shutdown/lib/systemd/systemd-sleep/lib/systemd/systemd-socket-proxyd/lib/systemd/systemd-sulogin-shell/lib/systemd/systemd-sysctl/lib/systemd/systemd-sysv-install/lib/systemd/systemd-time-wait-sync/lib/systemd/systemd-timedated/lib/systemd/systemd-update-utmp/lib/systemd/systemd-user-runtime-dir/lib/systemd/systemd-user-sessions/lib/systemd/systemd-veritysetup/lib/systemd/systemd-volatile-root/lib/systemd/systemd-xdg-autostart-condition/lib/udev/lib/udev/rules.d/lib/udev/rules.d/70-uaccess.rules/lib/udev/rules.d/71-seat.rules/lib/udev/rules.d/73-seat-late.rules/lib/udev/rules.d/99-systemd.rules/usr/usr/bin/usr/bin/bootctl/usr/bin/busctl/usr/bin/hostnamectl/usr/bin/kernel-install/usr/bin/localectl/usr/bin/resolvectl/usr/bin/systemd-analyze/usr/bin/systemd-cat/usr/bin/systemd-cgls/usr/bin/systemd-cgtop/usr/bin/systemd-cryptenroll/usr/bin/systemd-delta/usr/bin/systemd-detect-virt/usr/bin/systemd-id128/usr/bin/systemd-mount/usr/bin/systemd-path/usr/bin/systemd-run/usr/bin/systemd-socket-activate/usr/bin/systemd-stdio-bridge/usr/bin/timedatectl/usr/lib/usr/lib/binfmt.d/usr/lib/environment.d/usr/lib/kernel/usr/lib/kernel/install.d/usr/lib/kernel/install.d/00-entry-directory.install/usr/lib/kernel/install.d/50-depmod.install/usr/lib/kernel/install.d/85-initrd.install/usr/lib/kernel/install.d/90-loaderentry.install/usr/lib/modules-load.d/usr/lib/pam.d/usr/lib/pam.d/systemd-user/usr/lib/sysctl.d/usr/lib/sysctl.d/50-default.conf/usr/lib/sysctl.d/50-pid-max.conf/usr/lib/systemd/usr/lib/systemd/boot/usr/lib/systemd/boot/efi/usr/lib/systemd/boot/efi/linuxx64.efi.stub/usr/lib/systemd/boot/efi/linuxx64.elf.stub/usr/lib/systemd/boot/efi/systemd-bootx64.efi/usr/lib/systemd/catalog/usr/lib/systemd/catalog/systemd.be.catalog/usr/lib/systemd/catalog/systemd.be@latin.catalog/usr/lib/systemd/catalog/systemd.bg.catalog/usr/lib/systemd/catalog/systemd.catalog/usr/lib/systemd/catalog/systemd.de.catalog/usr/lib/systemd/catalog/systemd.fr.catalog/usr/lib/systemd/catalog/systemd.it.catalog/usr/lib/systemd/catalog/systemd.pl.catalog/usr/lib/systemd/catalog/systemd.pt_BR.catalog/usr/lib/systemd/catalog/systemd.ru.catalog/usr/lib/systemd/catalog/systemd.zh_CN.catalog/usr/lib/systemd/catalog/systemd.zh_TW.catalog/usr/lib/systemd/user/usr/lib/systemd/user/app.slice/usr/lib/systemd/user/background.slice/usr/lib/systemd/user/basic.target/usr/lib/systemd/user/bluetooth.target/usr/lib/systemd/user/default.target/usr/lib/systemd/user/exit.target/usr/lib/systemd/user/graphical-session-pre.target/usr/lib/systemd/user/graphical-session.target/usr/lib/systemd/user/paths.target/usr/lib/systemd/user/printer.target/usr/lib/systemd/user/session.slice/usr/lib/systemd/user/shutdown.target/usr/lib/systemd/user/smartcard.target/usr/lib/systemd/user/sockets.target/usr/lib/systemd/user/sound.target/usr/lib/systemd/user/systemd-exit.service/usr/lib/systemd/user/systemd-tmpfiles-clean.service/usr/lib/systemd/user/systemd-tmpfiles-clean.timer/usr/lib/systemd/user/systemd-tmpfiles-setup.service/usr/lib/systemd/user/timers.target/usr/lib/systemd/user/xdg-desktop-autostart.target/usr/lib/systemd/user-environment-generators/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator/usr/lib/systemd/user-generators/usr/lib/systemd/user-generators/systemd-xdg-autostart-generator/usr/lib/systemd/user-preset/usr/lib/systemd/user-preset/90-systemd.preset/usr/lib/sysusers.d/usr/lib/sysusers.d/basic.conf/usr/lib/sysusers.d/systemd-journal.conf/usr/lib/sysusers.d/systemd-network.conf/usr/lib/sysusers.d/systemd-resolve.conf/usr/lib/tmpfiles.d/usr/lib/tmpfiles.d/debian.conf/usr/lib/tmpfiles.d/home.conf/usr/lib/tmpfiles.d/journal-nocow.conf/usr/lib/tmpfiles.d/legacy.conf/usr/lib/tmpfiles.d/systemd-nologin.conf/usr/lib/tmpfiles.d/systemd-pstore.conf/usr/lib/tmpfiles.d/systemd-tmp.conf/usr/lib/tmpfiles.d/systemd.conf/usr/lib/tmpfiles.d/tmp.conf/usr/lib/tmpfiles.d/var.conf/usr/lib/tmpfiles.d/x11.conf/var/var/lib/var/lib/polkit-1/var/lib/polkit-1/localauthority/var/lib/polkit-1/localauthority/10-vendor.d/var/lib/polkit-1/localauthority/10-vendor.d/systemd-networkd.pkla/var/lib/systemd/bin/systemd/etc/modules-load.d/modules.conf/etc/sysctl.d/99-sysctl.conf/etc/xdg/systemd/user/lib/systemd/system/autovt@.service/lib/systemd/system/cryptdisks-early.service/lib/systemd/system/cryptdisks.service/lib/systemd/system/ctrl-alt-del.target/lib/systemd/system/dbus-org.freedesktop.hostname1.service/lib/systemd/system/dbus-org.freedesktop.locale1.service/lib/systemd/system/dbus-org.freedesktop.login1.service/lib/systemd/system/dbus-org.freedesktop.timedate1.service/lib/systemd/system/default.target/lib/systemd/system/getty.target.wants/getty-static.service/lib/systemd/system/graphical.target.wants/systemd-update-utmp-runlevel.service/lib/systemd/system/hwclock.service/lib/systemd/system/initrd-root-device.target.wants/remote-cryptsetup.target/lib/systemd/system/initrd-root-device.target.wants/remote-veritysetup.target/lib/systemd/system/kmod.service/lib/systemd/system/multi-user.target.wants/getty.target/lib/systemd/system/multi-user.target.wants/systemd-ask-password-wall.path/lib/systemd/system/multi-user.target.wants/systemd-logind.service/lib/systemd/system/multi-user.target.wants/systemd-update-utmp-runlevel.service/lib/systemd/system/multi-user.target.wants/systemd-user-sessions.service/lib/systemd/system/procps.service/lib/systemd/system/rc.service/lib/systemd/system/rcS.service/lib/systemd/system/rescue.target.wants/systemd-update-utmp-runlevel.service/lib/systemd/system/runlevel0.target/lib/systemd/system/runlevel1.target/lib/systemd/system/runlevel2.target/lib/systemd/system/runlevel3.target/lib/systemd/system/runlevel4.target/lib/systemd/system/runlevel5.target/lib/systemd/system/runlevel6.target/lib/systemd/system/sockets.target.wants/systemd-initctl.socket/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket/lib/systemd/system/sockets.target.wants/systemd-journald-dev-log.socket/lib/systemd/system/sockets.target.wants/systemd-journald.socket/lib/systemd/system/sysinit.target.wants/cryptsetup.target/lib/systemd/system/sysinit.target.wants/dev-hugepages.mount/lib/systemd/system/sysinit.target.wants/dev-mqueue.mount/lib/systemd/system/sysinit.target.wants/kmod-static-nodes.service/lib/systemd/system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount/lib/systemd/system/sysinit.target.wants/sys-fs-fuse-connections.mount/lib/systemd/system/sysinit.target.wants/sys-kernel-config.mount/lib/systemd/system/sysinit.target.wants/sys-kernel-debug.mount/lib/systemd/system/sysinit.target.wants/sys-kernel-tracing.mount/lib/systemd/system/sysinit.target.wants/systemd-ask-password-console.path/lib/systemd/system/sysinit.target.wants/systemd-binfmt.service/lib/systemd/system/sysinit.target.wants/systemd-boot-system-token.service/lib/systemd/system/sysinit.target.wants/systemd-journal-flush.service/lib/systemd/system/sysinit.target.wants/systemd-journald.service/lib/systemd/system/sysinit.target.wants/systemd-machine-id-commit.service/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service/lib/systemd/system/sysinit.target.wants/systemd-random-seed.service/lib/systemd/system/sysinit.target.wants/systemd-sysctl.service/lib/systemd/system/sysinit.target.wants/systemd-sysusers.service/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup.service/lib/systemd/system/sysinit.target.wants/systemd-update-utmp.service/lib/systemd/system/sysinit.target.wants/veritysetup.target/lib/systemd/system/timers.target.wants/systemd-tmpfiles-clean.timer/lib/systemd/system/x11-common.service/usr/bin/systemd-umount/usr/lib/environment.d/99-environment.conf

Rescue.target的Depedence:

rescue.target○ ├─grub-initrd-fallback.service○ ├─rescue.service○ ├─systemd-update-utmp-runlevel.service● └─sysinit.target●   ├─apparmor.service●   ├─dev-hugepages.mount●   ├─dev-mqueue.mount●   ├─keyboard-setup.service●   ├─kmod-static-nodes.service●   ├─plymouth-read-write.service●   ├─plymouth-start.service●   ├─proc-sys-fs-binfmt_misc.automount●   ├─setvtrgb.service●   ├─sys-fs-fuse-connections.mount●   ├─sys-kernel-config.mount●   ├─sys-kernel-debug.mount●   ├─sys-kernel-tracing.mount○   ├─systemd-ask-password-console.path●   ├─systemd-binfmt.service○   ├─systemd-boot-system-token.service●   ├─systemd-journal-flush.service●   ├─systemd-journald.service○   ├─systemd-machine-id-commit.service●   ├─systemd-modules-load.service○   ├─systemd-pstore.service●   ├─systemd-random-seed.service●   ├─systemd-sysctl.service●   ├─systemd-sysusers.service●   ├─systemd-timesyncd.service●   ├─systemd-tmpfiles-setup-dev.service●   ├─systemd-tmpfiles-setup.service●   ├─systemd-udev-trigger.service●   ├─systemd-udevd.service●   ├─systemd-update-utmp.service●   ├─cryptsetup.target●   ├─local-fs.target●   │ ├─-.mount●   │ ├─boot-efi.mount●   │ ├─mnt-sda3.mount●   │ ├─mnt-sdb1.mount●   │ ├─mnt-sdc1.mount●   │ ├─mnt-sdd1.mount●   │ ├─mnt-sde1.mount●   │ ├─mnt-sdf1.mount○   │ ├─systemd-fsck-root.service●   │ └─systemd-remount-fs.service●   ├─swap.target●   │ └─swapfile.swap●   └─veritysetup.target

最新文章

随机文章