Linux 命令行入门教程
73. systemd 与单元(unit/target)
本教程共 90 篇 · 第 73 篇
73. systemd 与单元(unit/target)
如 §72 所述,systemd 是今天的 init 系统,PID 1。它不光管开机,还管着系统运行时的所有服务。
systemd 把所有要管的东西都叫”单元”(unit)。常见几类:
.service服务,比如ssh.service、网页服务器。.socket套接字,按需唤醒服务。.mount挂载点,对应一次挂载动作。.timer定时器,相当于 systemd 自己的 cron。.target目标,把一组单元打包成一种”系统状态”。
target 取代了老式的运行级别(runlevel)。记住三个就够用:
multi-user.target:纯命令行的多用户状态,不进图形界面。graphical.target:带图形桌面的完整状态,桌面机默认。rescue.target:单用户救援模式,系统坏了进去修。
看当前在哪个 target:
systemctl get-default
想切到命令行模式(重启后保持),设默认 target:
sudo systemctl set-default multi-user.target
Tip单元文件都放在
/lib/systemd/system/和/etc/systemd/system/。要加自定义服务,就往后者里放一个.service文件。
小结:systemd 把服务、挂载、定时都叫 unit;target 是”系统状态包”,graphical 图形、multi-user 命令行。