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 等高级特性

相关推荐
无泪无花月隐星沉7 小时前
uos server 1070e lvm格式磁盘扩容分区
linux·运维·uos
Bruce_Liuxiaowei8 小时前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
食咗未8 小时前
Linux USB HOST EXTERNAL STORAGE
linux·驱动开发
食咗未8 小时前
Linux USB HOST HID
linux·驱动开发·人机交互
Xの哲學8 小时前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
iconball8 小时前
个人用云计算学习笔记 --24 虚拟化、KVM 基础使用与热迁移实验、VMware ESXi笔记
运维·笔记·学习·云计算
齐鲁大虾9 小时前
UOS(统信操作系统)如何更新CUPS(通用Unix打印系统)
linux·服务器·chrome·unix
ICT技术最前线9 小时前
企业ICT传输系统资源管理:资源分配规范
运维·服务器·资源分配
元亓亓亓9 小时前
考研408--计算机网络--day12--网络应用模型&DNS&FTP
服务器·计算机网络·考研·408
虾..10 小时前
Linux 简单日志程序
linux·运维·算法