Ubuntu Server默认使用哪个init系统或服务管理器?

Ubuntu Server 默认使用的 init 系统/服务管理器取决于版本:

Ubuntu 16.04 及以后版本

  • 默认使用 systemd(从 Ubuntu 15.04 开始引入,16.04 完全采用)
  • 管理命令:
    sudo systemctl start/stop/restart <服务名>
    sudo systemctl enable/disable <服务名>
    sudo systemctl status <服务名>

Ubuntu 14.04 及更早版本

  • 默认使用 Upstart(Ubuntu 6.10 至 14.10 使用)
  • 管理命令:
    sudo start/stop/restart <服务名>
    sudo status <服务名>

检查当前系统

# 查看 init 系统
ps -p 1 -o comm=
# 或
ls -l /sbin/init
# 或检查 systemd 是否存在
systemctl --version

关键说明

  1. systemd 是当前标准,提供更快的启动、依赖管理、日志集成(journald)等。
  2. 即使使用 systemd,部分传统命令(如 service)仍兼容:
    sudo service apache2 restart  # 实际仍调用 systemctl
  3. 所有 当前支持的 Ubuntu LTS 版本(20.04、22.04、24.04)均使用 systemd。

建议

  • 新部署直接使用 systemctl 命令。
  • 编写脚本时如需兼容旧版,可检查 /proc/1/comm 或使用 service 包装命令。

如需特定版本的操作细节,请告知您的 Ubuntu Server 版本。

云服务器