linux 笔记 - Systemd

Systemd

起源

systemd这一名字源于Unix中的一个惯例:在Unix中常以“d”作为系统守护进程(英语:daemon)的后缀标识。

Systemd 的简介

Systemd 是 Linux 系统中最新的初始化系统(init),由Lennart Poettering带头开发。它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。

systemd 的主要命令行工具是 systemctl

systemctl管理系统

Systemd 命令 systemctl 备注
systemctl reboot 重启系统
systemctl poweroff 关闭系统,切断电源
systemctl halt CPU停止工作
systemctl suspend 暂停系统
systemctl rescue 启动救援模式
systemctl emergency 进入紧急模式

systemctl管理服务

Systemd 命令 systemctl 备注
systemctl start foo.service 用来启动一个服务 (并不会重启现有的)
systemctl stop foo.service 用来停止一个服务
systemctl restart foo.service 用来停止并启动一个服务
systemctl reload foo.service 当支持时,重新装载配置文件而不中断等待操作。
systemctl condrestart foo.service 如果服务正在运行那么重启它。
systemctl status foo.service 汇报服务的运行状态
systemctl list-unit-files –type=service 用来列出所有的服务列表。
systemctl enable foo.service 开机时启动服务
systemctl disable foo.service 开机时禁用服务
systemctl is-enabled foo.service 检查某个服务是否启用

systemd-analyze

systemd-analyze - 分析和调试系统管理器。

Systemd 命令 systemd-analyze 备注
systemd-analyze 用于确定系统启动性能统计信息
systemd-analyze time 打印在达到用户空间之前在内核中花费的时间
systemd-analyze blame 打印所有运行单元的列表,按照初始化时间排序。此信息可用于优化启动时间
systemd-analyze plot 打印一张SVG图形,详细说明哪些系统服务已在何时启动,突出显示它们在初始化上花费的时间。
systemd-analyze dot 以点格式生成文本依赖图描述,以便使用GraphViz dot(1) 工具进行进一步处理
systemd-analyze dump 输出完整服务器状态的(通常很长的)人类可读的序列化

hostnamectl

hostnamectl - 可用于查询和更改系统主机名和相关设置。

Systemd 命令 hostnamectl 备注
hostnamectl ststus 显示当前主机名设置
hostnamectl set-hostname NAME 设置系统主机名
hostnamectl set-icon-name NAME 设置主机的图标名称
hostnamectl set-chassis NAME 设置主机的机箱类型
hostnamectl set-deployment NAME 为主机设置部署环境
hostnamectl set-location NAME 设置主机的位置

loginctl

loginctl - 控制systemd登录管理器

Systemd 命令 loginctl 备注
loginctl list-users 列出当前登录的用户
loginctl user-status 显示有关一个或多个登录用户的简短运行时状态信息
loginctl show-user [USER…] 显示一个或多个用户或管理员本身的属性。
如果未指定参数,则将显示管理器的属性。如果指定了用户,则显示用户的属性。
Systemd 命令选项 备注
–no-ask-password 不要向用户查询特权操作的身份验证。
-H,–host= 不要向用户查询特权操作的身份验证。
-M,–machine= 打印简短的帮助文本并退出。
-h,–help 打印短版本字符串并退出。
–version 打印短版本字符串并退出。