简介
systemd 是在 Linux 下,与 SysV 和 LSB 初始化脚本兼容的系统和服务管理器。systemd 使用 socket 和 D-Bus 来开启服务,提供基于守护进程的按需启动策略,支持快照和系统状态恢复,维护挂载和自挂载点,实现了各服务间基于从属关系的一个更为精细的逻辑控制,拥有更高的并行性能。
概念介绍
systemd 开启和监督整个系统是基于 unit 的概念。unit 是由一个与配置文件对应的名字和类型组成的(例如:avahi.service unit 有一个具有相同名字的配置文件,是守护进程 Avahi 的一个封装单元)。unit 有多重类型,如[表1]所示。
表 1 unit 说明
unit名称 | 后缀名 | 描述 |
---|---|---|
Service unit | .service | 系统服务。 |
Target unit | .target | 一组 systemd units。 |
Automount unit | .automount | 文件系统挂载点。 |
Device unit | .device | 内核识别的设备文件。 |
Mount unit | .mount | 文件系统挂载点。 |
Path unit | .path | 在一个文件系统中的文件或目录。 |
Scope unit | .scope | 外部创建的进程。 |
Slice unit | .slice | 一组用于管理系统进程分层组织的 units。 |
Snapshot unit | .snapshot | systemd manager 的保存状态。 |
Socket unit | .socket | 一个进程间通信的 Socket。 |
Swap unit | .swap | swap 设备或者 swap 文件。 |
Timer unit | .timer | systemd 计时器。 |
所有的可用 systemd unit 类型,可在如[表2]所示的路径下查看。
表 2 可用 systemd unit 类型
路径 | 描述 |
---|---|
/usr/lib/systemd/system/ | 随安装的 RPM 产生的 systemd units。 |
/run/systemd/system/ | 在运行时创建 systemd units。 |
/etc/systemd/system/ | 由系统管理员创建和管理的 systemd units。 |