systemd 259 发布!SysV 脚本将被彻底淘汰!

内容分享12小时前发布 a冬暖i
0 0 0

老 init 脚本将被彻底淘汰?系统管理员必须提前准备!


systemd 259 发布!SysV 脚本将被彻底淘汰!

2025 年 12 月,Linux 系统核心组件 systemd 正式推出 v259 版本。本次更新不仅是常规功能迭代,更释放出一个强烈信号:对传统 SysV init 脚本的兼容支持即将被完全移除。这意味着运行了数十年的 /etc/init.d/ 脚本时代,正加速走向终结。

对于仍在依赖老旧服务脚本的企业、嵌入式设备或自定义发行版,目前是迁移的最后窗口期


核心变化:向 SysV init 说再见

✅ 重大架构调整

  • SysV 兼容层默认禁用(可通过 –enable-sysvinit 编译选项临时开启)
  • systemctl 不再自动转换 /etc/init.d/ 脚本为 service 单元
  • 启动日志中新增警告:
  • Warning: SysV script 'xxx' is deprecated. Convert to native systemd unit.

官方明确表明:systemd 260 或 261 将彻底删除 SysV 支持代码


开发者与运维需做什么?

1️⃣ 迁移现有 SysV 脚本 → systemd 单元文件

旧式脚本(如 /etc/init.d/myapp)需重写为 .service 文件:

# /etc/systemd/system/myapp.service
[Unit]
Description=My Custom App
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/myapp
Restart=always
User=myuser

[Install]
WantedBy=multi-user.target

然后启用:

sudo systemctl daemon-reload
sudo systemctl enable --now myapp

2️⃣ 检查依赖项

  • 使用 systemctl list-units –type=service –state=loaded 查找仍由 SysV 加载的服务
  • 运行 systemd-analyze verify *.service 验证单元文件合法性

3️⃣ 发行版适配

  • Debian、RHEL、openSUSE 等已开始清理 SysV 脚本包
  • 自定义 ISO 或容器镜像需确保无残留 /etc/init.d/ 依赖

systemd 259 其他重大改善

  • 更快的启动速度:并行化优化,冷启动减少 150~300ms
  • 增强 cgroup v2 支持:更准确的资源隔离(尤其容器场景)
  • 安全加固:默认限制服务对 /proc 和 /sys 的访问强化 ProtectSystem=strict 策略
  • 新工具 systemd-sysext:支持动态加载只读系统扩展(用于模块化 OS)

为什么移除 SysV?

  • 维护成本高:SysV 兼容层占 systemd 代码库近 8%
  • 安全风险:init 脚本缺乏沙盒,易被提权利用
  • 功能落后:不支持 socket 激活、依赖图、资源控制等现代特性

Linux 基金会早在 2015 年就提议全面转向 systemd,如今终于进入收尾阶段。


结语

systemd 259 不是一次普通更新,而是一封来自未来的告别信。它提醒所有 Linux 用户:现代化不是选择,而是必然。趁 SysV 彻底消失前,完成迁移,才能确保系统在未来十年依然稳健、安全、高效。

© 版权声明

相关文章

暂无评论

none
暂无评论...