正文
一、 init 的职责
init 的首要功能是确保系统在任何时刻都运行着正确的服务和守护进程。其中包括:
- 设置计算机名;
- 设置时区;
- 使用 fsck 检查磁盘;
- 挂载文件系统;
- 删除 /tmp 目录中的陈旧文件;
- 配置网络接口;
- 配置分组过滤器;
- 启动其他守护进程和网络服务。
二、单元和单元文件
systemd 所管理的实体通常称作单元(unit)。具体来说,一个单元可以是“服务、套接字、设备、挂载点、自动挂载点、交换文件或分区、启动目标、受监视的文件系统路径、由 systemd 控制和监督的计时器、资源管理分片、外部创建的一组进程、进入另一个宇宙的虫洞。”
在 systemd 中,单元的行为由单元文件定义并配置。就服务而言,其单元文件指定了守护进程对应的可执行文件的位置、告诉 systemd 如何启动和停止该服务、声明该服务所依赖的其他单元。
三、单元文件状态
状态 | 含义 |
bad | systemd 出现问题,通常是因为错误的单元文件 |
disabled | 单元文件存在,但没有设置成自动启动 |
enabled | 已安装且可运行,能够自主启动 |
indirect | 单元文件被禁止,但是其中的 Also 设置列出了其他能够运行的单元文件 |
linked | 单元文件可以通过符号链接使用 |
masked | 完全禁止 |
static | 依赖于其他单元,不需要安装 |