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 在系统管理习惯上的延续性,两者保持了极高的相似度,主要体现在以下几个方面:
-
服务管理命令统一
在两个版本中,管理员都使用相同的systemctl命令来管理服务。例如,启动、停止、重启服务或查看状态的操作逻辑完全一致:sudo systemctl start nginx sudo systemctl status docker sudo systemctl enable ssh你不需要因为版本升级而学习新的服务控制语法。
-
日志查看方式一致
两者均主要依赖journalctl来查看系统日志,而不是传统的tail -f /var/log/syslog(尽管后者依然可用)。日志轮转和查询的核心命令在 20.04 和 22.04 中没有变化。 -
开机自启机制相同
无论是通过systemctl enable/disable还是创建符号链接,两者的行为逻辑和目录结构(如/etc/systemd/system/)保持一致。 -
内核与基础工具链的平滑过渡
Ubuntu 20.04 基于 Linux 5.4 内核,而 22.04 基于 Linux 5.15 内核。虽然内核版本更新带来了性能提升和新硬件支持,但在系统调用接口、文件系统层级标准(FHS)以及大多数基础命令行工具(如apt,snap,ufw)的使用习惯上,Canonical 刻意保持了向后兼容,使得迁移成本极低。
总结
Ubuntu 22.04 坚定地使用 systemd 作为唯一的初始化系统。对于从 20.04 升级的用户来说,系统管理的核心命令、日志处理流程以及服务编排逻辑几乎没有变化,你可以沿用 20.04 时期的操作习惯,无需重新适应新的系统管理范式。
CLOUD技术笔记