Ubuntu 的 systemd 体系:服务与启动项
介绍 Ubuntu 默认 init 是 systemd:单元文件位置、默认目标、开机自启怎么做,桌面版与服务器版的服务差异。
结论先行
Ubuntu 默认用 systemd 作为 init 与资源管理器(PIDs 1):一切「服务、定时器、挂载、目标」都是单元(unit),配置文件在 /etc/systemd/system/ 与 /usr/lib/systemd/system/。桌面版默认目标是 graphical.target,服务器版通常 multi-user.target。
关键概念对照
| 概念 | 说明 |
|---|---|
| unit | 一个被 systemd 管理的对象:.service(服务)、.timer(定时)、.mount(挂载) |
| target | 一组 unit 的集合目标,相当于「开机到什么程度」 |
| 默认目标 | 装完系统后开机停在这里,可改 |
查看与切换:
systemctl get-default
sudo systemctl set-default multi-user.target
自启一个常驻进程
- 写单元文件
/etc/systemd/system/myapp.service(示例骨架):
[Unit]
Description=My App
After=network.target
[Service]
ExecStart=/opt/myapp/run.sh
[Install]
WantedBy=multi-user.target
- 启用并启动:
sudo systemctl daemon-reload
sudo systemctl enable --now myapp
桌面版与服务器版的默认差异
具体哪些服务随任务组预装,以安装器选项与 Ubuntu 索引页 条目说明为准。