Ubuntu 22.04默认使用systemd还是SysV init?与20.04在系统管理习惯上有何延续性?

Ubuntu 22.04 LTS(Jammy Jellyfish)默认使用 systemd,完全不再支持 SysV init 作为主要的初始化系统。

事实上,从 Ubuntu 15.04 开始,Canonical 就已经全面转向 systemd 并弃用了传统的 SysV init 脚本作为默认启动机制。到了 22.04 版本,系统核心服务、日志管理(journald)、网络配置(systemd-networkd)以及用户会话管理(logind)等底层架构均深度依赖 systemd。虽然为了兼容性,系统中可能仍保留了一些旧式的 SysV init 脚本文件(通常位于 /etc/init.d/),但它们现在是通过 systemd 的兼容层(如 systemd-sysv-generator)被转换和调用的,而非直接由 init 进程解析执行。

关于与 Ubuntu 20.04 在系统管理习惯上的延续性,两者保持了极高的相似度,主要体现在以下几个方面:

  1. 服务管理命令统一
    在两个版本中,管理员都使用相同的 systemctl 命令来管理服务。例如,启动、停止、重启服务或查看状态的操作逻辑完全一致:

    sudo systemctl start nginx
    sudo systemctl status docker
    sudo systemctl enable ssh

    你不需要因为版本升级而学习新的服务控制语法。

  2. 日志查看方式一致
    两者均主要依赖 journalctl 来查看系统日志,而不是传统的 tail -f /var/log/syslog(尽管后者依然可用)。日志轮转和查询的核心命令在 20.04 和 22.04 中没有变化。

  3. 开机自启机制相同
    无论是通过 systemctl enable/disable 还是创建符号链接,两者的行为逻辑和目录结构(如 /etc/systemd/system/)保持一致。

  4. 内核与基础工具链的平滑过渡
    Ubuntu 20.04 基于 Linux 5.4 内核,而 22.04 基于 Linux 5.15 内核。虽然内核版本更新带来了性能提升和新硬件支持,但在系统调用接口、文件系统层级标准(FHS)以及大多数基础命令行工具(如 apt, snap, ufw)的使用习惯上,Canonical 刻意保持了向后兼容,使得迁移成本极低。

总结
Ubuntu 22.04 坚定地使用 systemd 作为唯一的初始化系统。对于从 20.04 升级的用户来说,系统管理的核心命令、日志处理流程以及服务编排逻辑几乎没有变化,你可以沿用 20.04 时期的操作习惯,无需重新适应新的系统管理范式。

云服务器