Man page - systemd(1)
Packages contas this manual
- systemd-ask-password-wall.path(8)
- journald@.conf(5)
- systemd-rfkill.service(8)
- systemd-pcrlock-secureboot-authority.service(8)
- org.freedesktop.locale1(5)
- systemd-journald-audit.socket(8)
- bootup(7)
- systemd-hostnamed(8)
- system.conf.d(5)
- os-release(5)
- systemd.exec(5)
- networkd.conf(5)
- systemd-hibernate-resume-generator(8)
- systemd-timedated.service(8)
- networkctl(1)
- systemd-fsck@.service(8)
- systemd-tmpfiles(8)
- systemd-inhibit(1)
- systemd.net-naming-scheme(7)
- systemd-tmpfiles-clean.timer(8)
- systemd-ssh-proxy(1)
- systemd-user-sessions(8)
- logind.conf(5)
- org.freedesktop.network1(5)
- systemd-networkd-wait-online.service(8)
- systemd.kill(5)
- systemd.time(7)
- systemd-ask-password(1)
- systemd.journal-fields(7)
- systemd-socket-proxyd(8)
- pstore.conf.d(5)
- systemd-networkd.service(8)
- systemd-pcrlock-firmware-code.service(8)
- systemd-storagetm.service(8)
- systemd-growfs-root.service(8)
- systemd-ask-password-wall.service(8)
- systemd-creds(1)
- systemd-remount-fs.service(8)
- journald.conf(5)
- systemd-confext.service(8)
- systemd-tty-ask-password-agent(1)
- systemd-binfmt(8)
- systemd-pcrlock-make-policy.service(8)
- systemd-timedated(8)
- systemd-journald.service(8)
- systemd-pcrlock-file-system.service(8)
- pam_systemd_loadkey(8)
- systemd-gpt-auto-generator(8)
- daemon(7)
- systemd-tpm2-setup(8)
- hostnamectl(1)
- systemd-sleep(8)
- systemd-pcrmachine.service(8)
- systemd-bsod.service(8)
- systemd.unit(5)
- systemd-sysctl.service(8)
- systemd-pstore(8)
- binfmt.d(5)
- systemd-network-generator(8)
- systemd-poweroff.service(8)
- systemd-umount(1)
- systemd-tpm2-generator(8)
- systemd-rfkill.socket(8)
- systemd-localed.service(8)
- systemd.path(5)
- systemd-cgls(1)
- journald.conf.d(5)
- systemd-journald@.service(8)
- systemd-sysusers.service(8)
- systemd-user.conf(5)
- systemd-pcrfs@.service(8)
- systemd-measure(1)
- systemd.offline-updates(7)
- systemd-logind(8)
- systemd-machine-id-setup(1)
- systemd-volatile-root.service(8)
- systemd.service(5)
- user@.service(5)
- systemd.target(5)
- systemd-udev-settle.service(8)
- systemd-fsck(8)
- systemd-fsck-usr.service(8)
- user-runtime-dir@.service(5)
- systemd-user-runtime-dir(5)
- systemd-binfmt.service(8)
- systemd-initctl.socket(8)
- systemd-fsck-root.service(8)
- systemd-debug-generator(8)
- file-hierarchy(7)
- systemd-networkd-wait-online(8)
- systemd-volatile-root(8)
- systemd-reboot.service(8)
- systemd-hostnamed.service(8)
- networkd.conf.d(5)
- initrd-release(5)
- systemd.index(7)
- systemd-shutdown(8)
- systemd-update-done.service(8)
- systemd-system-update-generator(8)
- localectl(1)
- systemd.v(7)
- systemd-pcrfs-root.service(8)
- systemd.image-policy(7)
- systemd-backlight@.service(8)
- systemd-battery-check(8)
- systemd-rc-local-generator(8)
- systemd-sysctl(8)
- systemd-kexec.service(8)
- extension-release(5)
- systemd-journald.socket(8)
- systemd-random-seed.service(8)
- systemd-tmpfiles-setup-dev-early.service(8)
- systemd-modules-load(8)
- systemd.network(5)
- systemd-getty-generator(8)
- systemd-storagetm(8)
- systemd.generator(7)
- systemd.special(7)
- systemd-tmpfiles-setup-dev.service(8)
- systemd-notify(1)
- systemd-suspend.service(8)
- localtime(5)
- systemd-journald-varlink@.socket(8)
- systemd-pcrphase.service(8)
- systemd-quotacheck.service(8)
- systemd-pcrlock-firmware-config.service(8)
- systemd-journald@.socket(8)
- systemd-halt.service(8)
- systemd-sysext.service(8)
- systemd-delta(1)
- 30-systemd-environment-d-generator(8)
- systemd-ask-password-console.service(8)
- systemd-confext(8)
- systemd-initctl.service(8)
- iocost.conf(5)
- systemd-logind.service(8)
- systemd-mkswap@.service(8)
- hostname(5)
- busctl(1)
- org.freedesktop.portable1(5)
- systemd-localed(8)
- systemd-id128(1)
- systemd-sleep.conf(5)
- systemd.environment-generator(7)
- systemd-growfs(8)
- systemd(1)
- systemd.device(5)
- systemd-firstboot(1)
- systemd-hibernate-clear.service(8)
- systemd.swap(5)
- tmpfiles.d(5)
- systemd-cat(1)
- systemd-random-seed(8)
- locale.conf(5)
- systemd-detect-virt(1)
- systemd-sysext(8)
- systemd.scope(5)
- systemd-growfs@.service(8)
- systemd-fstab-generator(8)
- systemd-escape(1)
- systemd-network-generator.service(8)
- systemd-tmpfiles-setup.service(8)
- systemd-tmpfiles-clean.service(8)
- sleep.conf.d(5)
- systemd-boot-check-no-failures(8)
- org.freedesktop.systemd1(5)
- systemd-suspend-then-hibernate.service(8)
- run0(1)
- systemd-mount(1)
- systemd.slice(5)
- systemd-user-sessions.service(8)
- systemd-makefs@.service(8)
- journalctl(1)
- systemd-makefs(8)
- systemd-stdio-bridge(1)
- systemd-ssh-generator(8)
- systemd-update-done(8)
- systemd-xdg-autostart-generator(8)
- systemd-soft-reboot.service(8)
- systemctl(1)
- org.freedesktop.machine1(5)
- systemd.timer(5)
- systemd-journald(8)
- systemd-bsod(8)
- systemd-tpm2-setup-early.service(8)
- systemd-hybrid-sleep.service(8)
- systemd-analyze(1)
- smbios-type-11(7)
- systemd-environment-d-generator(8)
- systemd-networkd-wait-online@.service(8)
- org.freedesktop.login1(5)
- systemd-rfkill(8)
- timedatectl(1)
- systemd-hibernate-resume(8)
- systemd-sysv-generator(8)
- kernel-install(8)
- systemd-sysusers(8)
- systemd.netdev(5)
- systemd-journald-dev-log.socket(8)
- systemd-vpick(1)
- machine-id(5)
- systemd-pcrphase-initrd.service(8)
- systemd.mount(5)
- systemd-remount-fs(8)
- systemd.socket(5)
- sysusers.d(5)
- systemd.directives(7)
- rc-local.service(8)
- systemd-run-generator(8)
- systemd-battery-check.service(8)
- systemd-pstore.service(8)
- capsule@.service(5)
- logind.conf.d(5)
- systemd-pcrlock-secureboot-policy.service(8)
- environment.d(5)
- systemd-pcrphase-sysinit.service(8)
- org.freedesktop.hostname1(5)
- modules-load.d(5)
- systemd.automount(5)
- systemd-firstboot.service(1)
- systemd-boot-check-no-failures.service(8)
- loginctl(1)
- systemd.syntax(7)
- systemd-initctl(8)
- kernel-command-line(7)
- systemd.preset(5)
- systemd-pcrlock-machine-id.service(8)
- systemd-run(1)
- systemd-system.conf(5)
- systemd-machine-id-commit.service(8)
- user.conf.d(5)
- systemd.system-credentials(7)
- pstore.conf(5)
- systemd-cgtop(1)
- sysctl.d(5)
- systemd-tpm2-setup.service(8)
- systemd-pcrextend(8)
- systemd-modules-load.service(8)
- systemd.pcrlock.d(5)
- systemd-networkd(8)
- systemd-socket-activate(1)
- systemd-path(1)
- systemd-backlight(8)
- org.freedesktop.timedate1(5)
- systemd-quotacheck(8)
- systemd.resource-control(5)
- systemd-ask-password-console.path(8)
- varlinkctl(1)
- systemd-ac-power(1)
- systemd-hibernate-resume.service(8)
- systemd.pcrlock(5)
- machine-info(5)
- systemd-hibernate.service(8)
- systemd-pcrlock(8)
apt-get install systemd
Available languages:
en fr zh_TW zh_CN deManual
| SYSTEMD(1) | systemd | SYSTEMD(1) |
NAME
systemd, init - systemd 系统与服务管理器
SYNOPSIS
systemd [OPTIONS...]
init [OPTIONS...] {COMMAND}
描述
systemd 是一个专用于 Linux 操作系统的系统与服务管理器。 当作为启动进程(PID=1)运行时,它将作为初始化系统运行, 也就是启动并维护各种用户空间的服务。
为了与传统的 SysV 兼容,如果将 systemd 以 init 名称启动,并且"PID≠1",那么它将执行 telinit 命令并将所有命令行参数原封不动的传递过去。 这样对于普通的登陆会话来说,无论是调用 init 还是调用 telinit 都是等价的。 详见 telinit(8) 手册。
当作为系统实例运行时, systemd 将会按照 system.conf 配置文件 以及 system.conf.d 配置目录中的指令工作; 当作为用户实例运行时,systemd 将会按照 user.conf 配置文件 以及 user.conf.d 配置目录中的指令工作。详见 systemd-system.conf(5) 手册。
选项
能够识别的命令行选项如下:
--test
--dump-configuration-items
--unit=
--system, --user
--dump-core
--crash-vt=VT
--crash-shell
--crash-reboot
--confirm-spawn
--show-status=
--log-target=
--log-level=
--log-color=
--log-location=
--default-standard-output=, --default-standard-error=
--machine-id=
-h, --help
--version
概念
systemd 将各种系统启动和运行相关的对象, 表示为各种不同类型的单元(unit), 并提供了处理不同单元之间依赖关系的能力。 大部分单元都静态的定义在单元文件中 (参见 systemd.unit(5) 手册), 但是有少部分单元则是动态自动生成的: 其中一部分来自于其他传统的配置文件(为了兼容性), 而另一部分则动态的来自于系统状态或可编程的运行时状态。 单元既可以处于活动(active)状态也可以处于停止(inactive)状态, 当然也可以处于启动中(activating)或停止中(deactivating)的状态。 还有一个特殊的失败(failed)状态, 意思是单元以某种方式失败了 (进程崩溃了、或者触碰启动频率限制、或者退出时返回了错误代码、或者遇到了操作超时之类的故障)。 当进入失败(failed)状态时, 导致故障的原因将被记录到日志中以方便日后排查。 需要注意的是, 不同的单元可能还会有各自不同的"子状态", 但它们都被映射到上述五种状态之一。
各种不同的单元类型如下:
单元的名称由单元文件的名称决定, 某些特定的单元名称具有特殊的含义,详情参见 systemd.special(7) 手册。
systemd 能够处理各种类型的依赖关系, 包括依赖与冲突(也就是 Requires= 与 Conflicts= 指令), 以及先后顺序(也就是 After= 与 Before= 指令)。 注意, 上述两种类型的依赖关系(依赖与冲突、先后顺序)之间是相互独立的(无关的)。 举例来说,假定 foo.service 依赖于(Requires) bar.service 但并未指定先后顺序, 那么这两个服务将被同时并行启动。 不过在两个单元之间既存在依赖关系也存在先后顺序的情形也很常见。 另外需要注意的是, 大多数依赖关系都是由 systemd 隐式创建和维护的, 因此没有必要额外手动创建它们。
应用程序和单元(透过依赖关系)可能会查询其他单元的状态变化。 在 systemd 中, 这种查询被包装为"任务"(job)并被作为"任务队列"进行管理。 任务的执行结果可能成功也可能失败, 但是任务的执行顺序是依照任务所属单元之间的先后顺序确定的。
在系统启动时,systemd 默认启动 default.target 单元, 该单元中应该包含所有你想在开机时默认启动的单元。 但实际上,它通常只是一个指向 graphical.target (图形界面) 或 multi-user.target (命令行界面,常用于嵌入式或服务器环境, 一般是 graphical.target 的一个子集)的符号连接。 详见 systemd.special(7) 手册。
systemd 依赖于内核提供的 cgroups[1] 特性控制进程的派生, 从而确保可以追踪到所有子进程。 cgroups 信息由内核负责维护, 并且可以通过 /sys/fs/cgroup/systemd/ 接口进行访问。此外,还可以通过 systemd-cgls(1) 或 ps(1) 之类的工具进行查看 (ps xawf -eo pid,user,cgroup,args)
systemd 几乎完全兼容传统的 SysV init 系统: SysV init 脚本可以作为另一种配置文件格式被识别; 提供与 SysV 兼容的 /dev/initctl 接口; 提供各种 SysV 工具的兼容实现; 依然兼容例如 /etc/fstab 或者 utmp 之类传统的 Unix 特性。
systemd 还有一个小型的事务系统: 如果要启动或关闭一个单元, 那么该单元所依赖的 所有其他单元都会被一起加入到同一个临时事务中。 这样,就可以校验整个事务的一致性, 也就是检查是否存在循环依赖。 如果存在循环依赖, 那么 systemd 将会尝试通过 去掉弱依赖(want)来解决这个问题, 如果最终实在无法解决循环依赖的问题, 那么 systemd 将会报错。
systemd 内置了许多系统启动过程中必需的操作, 例如,设置 hostname 以及配置 loopback 网络设备, 以及挂载 /sys 和 /proc 文件系统。
在系统启动或者执行 systemctl reload ... 时, systemd 可以根据其他配置文件或者内核引导选项动态生成单元,参见 systemd.generator(7) 手册。
如果要从容器中调用 systemd 那么必须遵守 Container Interface[2] 规范。 如果要从 initrd 中调用 systemd 那么必须遵守 initrd Interface[3] 规范。
目录
系统单元目录
用户单元目录
SysV启动脚本目录(不同发行版之间差别可能很大)
SysV运行级目录(不同发行版之间差别可能很大)
信号
SIGTERM
systemd 用户实例将会启动 exit.target 单元。 基本上相当于执行 systemctl --user start exit.target 命令。
SIGINT
systemd 用户实例处理此信号的方式与 SIGTERM 相同。
SIGWINCH
systemd 用户实例将会完全忽略此信号。
SIGPWR
SIGUSR1
SIGUSR2
SIGHUP
SIGRTMIN+0
SIGRTMIN+1
SIGRTMIN+2
SIGRTMIN+3
SIGRTMIN+4
SIGRTMIN+5
SIGRTMIN+6
SIGRTMIN+13
SIGRTMIN+14
SIGRTMIN+15
SIGRTMIN+16
SIGRTMIN+20
SIGRTMIN+21
SIGRTMIN+22, SIGRTMIN+23
SIGRTMIN+24
SIGRTMIN+26, SIGRTMIN+27, SIGRTMIN+28
环境变量
$SYSTEMD_LOG_LEVEL
$SYSTEMD_LOG_TARGET
$SYSTEMD_LOG_COLOR
$SYSTEMD_LOG_LOCATION
$XDG_CONFIG_HOME, $XDG_DATA_HOME
$SYSTEMD_UNIT_PATH
$SYSTEMD_SYSVINIT_PATH
$SYSTEMD_SYSVRCND_PATH
$SYSTEMD_COLORS
$LISTEN_PID, $LISTEN_FDS, $LISTEN_FDNAMES
$NOTIFY_SOCKET
内核引导选项
当作为系统实例运行的时候, systemd 能够接受下面列出的内核引导选项。[5]
systemd.unit=, rd.systemd.unit=
systemd.dump_core=
systemd.crash_chvt=
systemd.crash_shell=
systemd.crash_reboot=
systemd.confirm_spawn=
systemd.show_status=
systemd.log_target=, systemd.log_level=, systemd.log_color=, systemd.log_location=
systemd.default_standard_output=, systemd.default_standard_error=
systemd.setenv=
systemd.machine_id=
quiet
debug
emergency, rd.emergency, -b
rescue, rd.rescue, single, s, S, 1
2, 3, 4, 5
locale.LANG=, locale.LANGUAGE=, locale.LC_CTYPE=, locale.LC_NUMERIC=, locale.LC_TIME=, locale.LC_COLLATE=, locale.LC_MONETARY=, locale.LC_MESSAGES=, locale.LC_PAPER=, locale.LC_NAME=, locale.LC_ADDRESS=, locale.LC_TELEPHONE=, locale.LC_MEASUREMENT=, locale.LC_IDENTIFICATION=
更多内核引导选项的解释, 参见 kernel-command-line(7) 手册。
SOCKETS 与 FIFOS
/run/systemd/notify
/run/systemd/private
/dev/initctl
参见
systemd Homepage[6], systemd-system.conf(5), locale.conf(5), systemctl(1), journalctl(1), systemd-notify(1), daemon(7), sd-daemon(3), systemd.unit(5), systemd.special(5), pkg-config(1), kernel-command-line(7), bootup(7), systemd.directives(7)
NOTES
- 1.
- cgroups
- 2.
- Container Interface
- 3.
- initrd Interface
- 4.
- XDG Base Directory specification
- 5.
- 当 systemd 在 Linux 容器中运行的时候, 这些参数可以直接在 systemd 命令行上传递(放置在所有命令行选项之后), 当 systemd 不在 Linux 容器中运行的时候, 这些参数将从 /proc/cmdline 中获取。
- 6.
- systemd Homepage
跋
本页面中文版由中文 man 手册页计划提供。
翻译人员:金步国
金步国作品集:http://www.jinbuguo.com
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
| systemd 231 |