linux系统服务管理框架

.

SysV init 服务管理

在 Linux 中,rc 是 "run commands" 的缩写。意思是:系统在某个阶段需要执行的一组命令。因此,rc 服务配置文件就是系统启动或服务管理时要执行的脚本。

主要的 rc 服务配置文件与目录

下面是 SysV 风格系统中常见的 rc 脚本:

/etc/rc.local

系统启动完成后执行的脚本

用户可在这里写自定义启动命令

可用于启动私有服务、脚本任务等

/etc/init.d/

每个系统服务一个独立的脚本,例如:

network

ssh

cron

nginx

每个脚本支持 start、stop、restart 等命令

属于 服务脚本的核心目录

/etc/rc.d/(例如 rc0.d、rc1.d、rc3.d、rc5.d)
不同时期执行的服务脚本链接目录
"
" 代表不同运行级别:

rc0.d → 关机

rc1.d → 单用户模式

rc3.d → 多用户无图形

rc5.d → 多用户图形界面

目录中有两类符号链接:

SXXname:开机启动 (Start)

KXXname:关闭服务 (Kill)

例如:

S20nginx → 开机时第 20 顺序启动 nginx

K80nginx → 关机时第 80 顺序停止 nginx

这些 rc 文件如何协同工作?

系统选定运行级别(例如进入 runlevel 3)

执行 /etc/rc3.d/ 中所有以 S 开头的脚本

若切换运行级别,则执行 K 开头脚本停止旧服务

/etc/init.d/ 中的脚本提供真正的启动逻辑

rc.local 最后执行用户自定义启动任务

.rc 文件支持的功能

它们让系统能够:

自动启动各种服务

控制服务启动顺序

灵活定制系统启动流程

在没有 systemd 的系统上运行正常服务

尽管如今许多 Linux 发行版使用 systemd,但 rc 风格配置仍然被大量软件、嵌入式系统和旧系统使用。android系统就采用.rc的方式控制native服务的启动。

systemd服务管理

systemd 是现代 Linux 发行版中最主流、最核心的系统与服务管理框架。它取代了早期的 SysV init,提供了更快的启动速度 、更强的服务管理能力和更模块化的系统组件。

systemd 是 Linux 系统在启动时的第一个用户空间进程(PID=1),负责:

初始化系统

启动各类服务

管理系统资源

提供统一的服务控制工具

systemd 的核心特点

服务并行启动,加速开机

systemd 会分析依赖关系,让多个服务并行启动,比 SysV init 快得多。

强大的服务管理体系

通过统一的工具 systemctl 来管理一切服务。

服务依赖与自动重启

可以定义服务间的关系,例如:

网络服务依赖 NetworkManager

数据库依赖文件系统挂载

systemd 可在服务崩溃时自动重启。

日志统一管理(journald)

使用 journalctl 查询系统日志、服务日志,不再依赖分散的 log 文件。

基于 Unit 的模块化结构

systemd 将所有内容抽象为 Unit,如服务、设备、挂载点等。

systemd 的常见 Unit 类型

常见类型包括:

service:最常用,表示"服务"

socket:用于 socket 激活方式启动服务

mount:文件系统挂载

timer:替代 cron 的计时任务

target:表示一组 unit 的集合(类似运行级别)

例如:

sshd.service

docker.service

multi-user.target

systemd 与 SysV init 的区别

systemd 启动更快(并行)

systemd 配置更系统化、更统一

systemd 能自动管理服务崩溃

systemd 有更强大的日志系统

systemd 提供 Timer、Socket 等高级特性

相关推荐
不仙5201 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
189228048612 小时前
NY352固态MT29F32T08GWLBHD6-24QJ:B
大数据·服务器·人工智能·科技·缓存
AI视觉网奇2 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏2 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
乐维_lwops2 小时前
案例解读|运维监控助力某大型卷烟厂构建高效运维监控体系
运维·运维案例
JiaWen技术圈2 小时前
网站用户注册行为验证码方案
运维·安全
仙柒4152 小时前
Docker存储原理
运维·docker·容器
DolphinDB2 小时前
漫长人工,耗费存储?用 BackupRestore 模块一站式解决跨环境数据同步难题
运维·后端·架构
闫记康2 小时前
Linux学习day5
linux·chrome·学习
TechPioneer_lp2 小时前
30 岁硕士 Linux C 开发背景,未来想去澳洲就业,研究方向该选 AI、SDN 漏洞还是 Linux 内核?
linux·人工智能·职业规划·澳洲求职