systemd 和 systemctl
目录
systemd 是许多「Linux 发行版」默认的 init 程序。init 是操作系统的「一号进程」,内核加载完成后首先运行该进程,接着由它完成后面的系统启动。
除了作为初始化进程外,systemd 还提供其他的功能。包括电源管理、日志记录、系统配置、网络配置、网络时间同步和域名解析等。
命令行工具
systemctl 是 systemd 最重要的命令行工具,用于管理操作系统的基础运作。
此外还有下列这些常用的工具:
journalctl查看日志。systemd-analyze分析系统启动过程。resolvectl域名解析,管理 systemd 域名服务 (systemd-resolved)。hostnamectl管理主机名。localectl管理区域和语言。timedatectl管理时钟。loginctl管理用户登录。
有些工具需要在相应的后端服务运行的情况下才可以使用,比如 journalctl 对应的后端服务是 systemd-journald.service,使用 man 可以查询。
unit
systemd 管理的单元叫 “unit”,unit 可以是服务 (.service)、挂载点 (.mount), 设备 (.device)、sockets (.socket) 等,例如 systemd-networkd.service、boot.mount。
输入命令时 .service 后缀可省略。
常用命令汇总
systemctl
下面以管理 systemd-timesyncd.service 为例,列出 systemctl 常用命令。
|
|
systemctl 还可以管理电源:
|
|
通过 polkit 可实现本地登录的普通用户使用 systemctl 进行电源管理。安装 plokit:
|
|
systemd-analyze
systemd-analyze 用于分析系统启动过程,常用命令如下:
|
|
journalctl
journalctl 用于查看日志,常用命令如下:
|
|
!!! note
Debian 需要将用户加入 systemd-journal 组才可执行 journalctl,或者调用 root 权限。