参考视频链接:https://youtu.be/Kzpm-rGAXos, https://youtu.be/N1vgvhiyq0E?list=PLtK75qxsQaMKPbuVpGuqUQYRiTwTAmqeI
systemd介绍
- init
- PID1 1号进程,用于启动其他事务
- 接管孤儿进程
- 从何而来
- 以前的sysV脚本初始化不便于管理
- systemd组成
- 程序、服务、库
- systemctl
- journalctl
- init
- 进程管理
- 网络管理(networkd)
- 登录管理(logind)
- 日志(journald)
- 等
- 程序、服务、库
单元(Unit)
- 由systemd管理的任何实体称为单元,单元可以用于管理
- 服务(service)
- 套接字(socket)
- 设备(device)
- (自动)挂载点(Mountpoint/Automount point)
- 交换文件(swap file)
- 分区(partition)
- 启动对象(targets)(类似于命名的运行级别)
- 受监视的文件系统路径
- 外部创建的进程组
- 依赖
- 单元文件位置
- /lib/systemd/system
- 系统的
- /usr/lib/systemd/system
- 安装的软件提供的
- /run/systemd/system
- 临时的
- /etc/systemd/system
- 自定义的通常放在这里
- /home/$USER/.config/systemd/system
- 用户级别的
- /lib/systemd/system
- 一个service示例
Targets
- targets可以用于划分启动期间的不同阶段,各阶段可以有很多不同的单元
- 也是将单元分组的一种方式
依赖管理(单元排序)
- 模糊排序
- Wants, WantedBy
- 最弱依赖管理方式,提示systemd应当在同一阶段启动,但是不保证先后顺序,同时不保证一定在同一阶段启动
- Requires, RequiredBy
- 提示systemd应当在同一阶段启动,不保证先后顺序,保证同一阶段启动
- Wants, WantedBy
- 明确排序
- Before
- After
- 其他
- Requisite
- BindsTo
- PartOf
- Conflicts
- 避免同时启动