systemd简介
Systemd
是Linux操作系统的系统和服务器管理器。它被设计成向后兼容 SysV
init脚本,并提供了一系列的诸如并行启动服务,按需激活服务,系统状态快照,或者依赖的底层服务控制逻辑等功能。在Red Hat Enterprise Linux 7中,systemd替代了以前默认使用的 init
系统。
Systemd引入了 systemd units
概念,这些通过位于目录中的单元配置文件表述并包装了有关系统服务,监听套接字,保存的系统状态快照,以及有关init系统的其他对象的信息。完整的systemd单元类型参考下表
可用的systemd单元类型
单元类型 |
文件扩展 |
描述 |
---|---|---|
服务单元(Service unit) |
|
系统服务 |
目标单元(Target unit) |
|
systemd单元的组 |
自动挂载单元(Automount unit) |
|
文件系统自动挂载点 |
设备单元(Device unit) |
|
通过内核识别的一个设备文件 |
挂载单元(Mount unit) |
|
一个文件系统的挂载点 |
路径单元(Path unit) |
|
在一个文件系统中的一个文件或者目录 |
范围单元(scope unit) |
|
一个外部创建的进程 |
切片单元(Slice unit) |
|
管理系统进程的层次化组织的单元组 |
快照单元(Snapshot unit) |
|
systemd管理器的一个保存的状态 |
套接字单元(Socket unit) |
|
一个进程间通讯的套接字 |
交换单元(Swap unit) |
|
一个交换设备或者交换文件 |
计时器单元(Timer unit) |
|
一个systemd计时器 |
Systemd Unit位置
目录 |
描述 |
---|---|
|
使用RPM包安装的Systemd单元 |
|
运行时创建的Systemd单元。这个目录比安装系统服务单元目录的优先级高 |
|
由系统管理员创建和管理的Systemd单元。这个目录比运行时创建的systemd单元优先级高 |
不使用 systemd
?
目前主流的Linux发行版都已经转向使用 systemd
,特别是有些桌面(GNOME)和 systemd
强绑定导致发行版不得不支持。不过,依然有一些 "小众" 发行版给予用户选择的权利:
Gentoo Linux 可以在安装时选择
OpenRC
作为initLFS(Linux from scratch) 可以部署
sysv
版本antiX Linux 基于 Debian 的轻量级发行版提供了 systemd-free 部署(我还没有使用过这个发行版)
当然,还有著名的 FreeBSD 完全不使用 systemd