systemd介绍

概述

systemd 是 Linux 系统的一组基本构建模块。它提供了一个系统和服务管理器,以 PID 1 运行并启动系统的其余部分。systemd 提供强大的并行化能力,使用套接字和 D-Bus 激活来启动服务,提供按需启动守护进程,使用 Linux 控制组跟踪进程,维护挂载点和自动挂载点,并实现复杂的基于事务依赖的服务控制逻辑。systemd 支持 SysV 和 LSB 初始化脚本,并可替代 sysvinit。其他部分包括一个日志守护进程、用于控制基本系统配置(如主机名、日期、区域设置)的实用程序、维护登录用户列表以及正在运行的容器和虚拟机、系统账户、运行时目录和设置,以及用于管理简单网络配置、网络时间同步、日志转发和名称解析的守护进程。

他是一个大而全的系统,包含了很多功能,可以如下图所示:
alt text

主要的一些功能有:

  • 服务管理:systemd可以启动、停止、重启、查看服务的状态,还可以设置服务的依赖关系。
  • 日志管理:systemd通过journalctl命令可以查看系统日志,支持按服务、时间、优先级等条件过滤。
  • 定时任务:systemd可以替代cron,通过systemd-timer实现定时任务的管理。
  • 系统初始化:systemd负责系统的初始化,包括加载内核模块、挂载文件系统、启动用户空间进程等。
  • 用户会话:systemd可以管理用户会话,包括用户登录、注销、会话控制等。
  • 内核管理:包括cgroups、kdbus、autofs等
  • 网络管理:systemd-networkd可以管理网络配置,systemd-resolved可以管理DNS解析。
  • 设备管理:systemd可以管理设备,包括磁盘、网络、USB等设备。
  • cgroup管理:systemd可以管理cgroup,实现资源限制和控制。
阅读更多