1. 总结rocky 系统的启动流程,grub工作流程
1.1 rocky 启动流程
一、硬件初始化阶段
1、通电与BIOS/UEFI自检
计算机通电后,BIOS/UEFI固件初始化硬件并执行POST(加电自检),检测关键硬件(CPU/内存/存储设备)状态。
2、加载引导设备
BIOS/UEFI读取预设启动顺序,定位首个可启动设备的MBR(主引导记录)或UEFI分区中的引导程序。
二、GRUB引导阶段
3、GRUB Stage 1
加载MBR前446字节的初始引导代码,指向后续阶段加载位置。
4、GRUB Stage 1.5
位于MBR后(1-2047扇区),提供文件系统驱动(如ext4/XFS),使Stage 2可访问/boot分区
5、GRUB Stage 2
解析/boot/grub2/grub.cfg配置文件:
加载内核映像(vmlinuz)及初始内存盘(initramfs)到内存。
传递内核参数(如根设备路径、启动级别)。
三、内核初始化阶段
6、内核解压与驱动加载
内核解压后探测硬件并加载驱动模块,挂载initramfs作为临时根文件系统。
7、切换真实根文件系统
initramfs中的脚本定位实际根设备(如/dev/sda2),以读写模式挂载为最终根目录
四、系统服务初始化
8、启动首个用户进程
内核执行/sbin/init(传统SysV)或systemd(Rocky Linux 8+默认)
9、执行系统初始化脚本
sysSysV:执行/etc/rc.d/rc.sysinit初始化主机名、挂载文件系统、启用交换分区等。temd:加载default.target定义的目标单元(如graphical.target)
10、加载内核模块
激活/etc/modprobe.d/配置的内核模块(如硬件驱动、文件系统支持)。
五、运行级与服务启动
11、执行运行级脚本
SysV:按运行级(如多用户模式runlevel 3)执行/etc/rc.d/rc[0-6].d/目录下的服务脚本。
systemd:并行启动依赖单元(如网络服务、日志服务)。
12、执行本地自定义脚本
运行/etc/rc.d/rc.local(传统SysV)或systemd的自定义服务单元,用于用户自定义启动任务。
六、登录界面启动
13、启动登录管理器
加载显示管理器(如GDM/LightDM),进入图形登录界面;或启动getty进程提供TTY终端登录。
14、用户认证
用户输入凭据后,调用/bin/login验证身份并启动默认Shell(如bash)。
1.2、grub工作流程
- 初始加载(Stage 1)
- BIOS/UEFI 读取磁盘的 MBR 或 EFI 分区中的引导代码(boot.img 或 .efi 文件)。
- 加载并执行 core.img(核心镜像),提供基本文件系统支持。
- 核心运行(Stage 1.5)
- core.img 加载 /boot/grub 下的模块(如文件系统驱动、命令支持)。
- 解析 grub.cfg 配置文件,显示启动菜单。
- 内核启动(Stage 2)
- 根据用户选择,加载 Linux 内核(vmlinuz)和 initramfs。
- 执行 boot 命令,将控制权交给内核,完成系统启动。
核心作用:分阶段加载,突破 BIOS 限制,支持多系统启动和复杂配置。
2. 总结内核设计流派及特点。
操作系统内核设计主要分为三种流派,各有其显著特点:
1、宏内核(单内核)
特点:所有系统服务(进程管理、内存管理、文件系统等)集成在内核空间运行,通过函数调用直接通信
优势:高性能,模块间调用效率高
代表系统:传统Unix、Linux(虽为单内核但支持模块化)
2、微内核
特点:仅保留核心功能(进程调度、IPC等),其他服务作为独立进程在用户态运行,通过消息传递通信
优势:高安全性,模块故障隔离性好
劣势:频繁上下文切换导致性能损耗
代表系统:Windows NT、HarmonyOS
3、混合内核
特点:结合宏内核和微内核特性,核心功能保留在内核态,部分服务可动态加载或运行在用户态
优势:兼顾性能与灵活性
代表实现:现代Linux(支持动态模块加载)、macOS XNU
补充说明:
Linux虽归类为宏内核,但通过模块化机制(.ko文件)实现了类似微内核的灵活性
3. 总结systemd服务配置文件
systemd服务配置文件(.service文件)是Linux系统中用于定义和管理服务行为的核心配置文件
一、核心作用
生命周期管理:控制服务的启动/停止/重启操作
依赖管理:通过定义After/Before等参数确定服务启动顺序
自动恢复:配置崩溃后的重启策略(如always/on-failure)
资源管控:限制CPU/内存等资源使用
日志集成:与journald日志系统无缝对接
二、文件结构
分为三个核心区块:
1、[Unit]区块
Description:服务描述信息
After/Before:定义启动时序依赖
Requires/Wants:分别表示强依赖和弱依赖关系
2、[Service]区块
Type:指定服务类型(simple/forking/oneshot/notify)
ExecStart/ExecStop:定义启动/停止命令
User/Group:设置运行身份
Restart:配置自动重启策略
3、[Install]区块
WantedBy:指定服务所属运行级别(如multi-user.target)
Alias:为服务设置别名
三、配置文件路径
系统预置文件:/usr/lib/systemd/system/(不建议直接修改)
用户自定义文件:/etc/systemd/system/(推荐位置)
修改后需执行systemctl daemon-reload使配置生效
四、典型配置示例
- [Unit]
- Description=Nginx HTTP Server
- Documentation=man:nginx(8)
- After=network.target
- [Service]
- Type=forking
- PIDFile=/run/nginx.pid
- ExecStartPre=/usr/sbin/nginx -t -q
- ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
- ExecReload=/usr/sbin/nginx -s reload
- ExecStop=/usr/sbin/nginx -s quit
- TimeoutStopSec=5
- KillMode=mixed
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target
复制代码 五、管理命令
systemctl start/stop/restart:启停服务
systemctl enable/disable:设置开机自启
systemctl status:查看服务状态
systemctl is-active:检查运行状态
4. 总结DNS域名三级结构,DNS服务工作原理,涉及递归和迭代查询原理
一、DNS域名三级结构
1、根域(Root Domain)
最高层级,用点号"."表示,全球共13组根服务器集群
管理顶级域(TLD)服务器地址
2、顶级域(Top-Level Domain)
包括通用顶级域(如.com/.org)和国家代码顶级域(如.cn/.uk)
由ICANN统一管理
3、二级域(Second-Level Domain)
用户注册的可自定义部分(如"baidu" in www.baidu.com)
权威DNS服务器存储该层级下的具体解析记录
二、DNS服务工作原理
1、核心功能
实现域名与IP地址的双向映射,采用分布式数据库架构
默认使用UDP协议(端口53)进行通信
2、解析流程
浏览器缓存 → 本地hosts文件 → 本地DNS服务器递归查询 → 根/TLD/权威DNS服务器迭代查询
最终结果将缓存在本地DNS服务器(TTL决定有效期)
三、递归与迭代查询原理
查询类型执行主体过程特点典型场景递归查询本地DNS服务器全程代理用户查询,必须返回最终IP或错误信息客户端向本地DNS的请求迭代查询各级DNS服务器之间每次只返回下一级服务器地址,由请求方自行继续查询本地DNS向根/TLD的查询补充说明:
递归查询对客户端透明但服务器压力大,迭代查询减轻服务器负担但增加客户端复杂
实际解析常混合使用两种方式(客户端→本地DNS递归,本地DNS→外部迭代)
6. 实现私有DNS, 供本地网络主机作DNS递归查询。
6.1、环境配置
主机IP角色备注系统10.0.0.12客户端客户端主机将DNS指向10.0.0.13Rocky910.0.0.13DNS SERVER为客户端主机提供DNS解析服务ubuntu2410.0.0.13WEB 网站提供web网站ubuntu24
6.2、在DNS SERVER (13主机)上实域名解析
配置域文件- root@ubuntu24-13:/etc/bind# tail named.conf.default-zones
- zone "255.in-addr.arpa" {
- type master;
- file "/etc/bind/db.255";
- };
- zone "magedu.com" IN { # IN 可以省略不写
- type master;
- file "/etc/bind/db.magedu.com";
- }
复制代码 设置具体解析规则- root@ubuntu24-13:/etc/bind# cat /etc/bind/db.magedu.com
- $TTL 86400 ; 全局TTL值
- @ IN SOA magedu-dns.magedu.com. admin.magedu.com. (
- 2025060201 ; 序列号
- 3H ; 刷新间隔
- 15M ; 重试间隔
- 1D ; 过期时间
- 1W ; 否定缓存TTL
- )
- @ IN NS dns1.magedu.com.
- dns1 IN A 10.0.0.13
- www IN A 10.0.0.13
- * IN A 10.0.0.199
复制代码 检测效果- root@ubuntu24-13:/etc/bind# named-checkzone magedu.com /etc/bind/db.magedu.com
- zone magedu.com/IN: loaded serial 2025060201
- OK
复制代码 6.3、配置后端WHB服务器
- root@ubuntu24-13:/etc/bind# systemctl status nginx #查看nginx服务状态
- ● nginx.service - A high performance web server and a reverse proxy server
- Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
- Active: active (running) since Tue 2025-06-03 00:19:51 CST; 2 days ago
- Docs: man:nginx(8)
- Main PID: 8316 (nginx)
- Tasks: 3 (limit: 4541)
- Memory: 2.5M (peak: 3.0M)
- CPU: 19ms
- CGroup: /system.slice/nginx.service
- ├─8316 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
- ├─8317 "nginx: worker process"
- └─8319 "nginx: worker process"
- root@ubuntu24-13:/etc/bind# netstat -tupln |grep 80 #查看80端口是否开放
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8316/nginx: master
- tcp6 0 0 fe80::20c:29ff:fec4::53 :::* LISTEN 6988/named
- tcp6 0 0 fe80::20c:29ff:fec4::53 :::* LISTEN 6988/named
- tcp6 0 0 fe80::59ad:d7ed:6b52:53 :::* LISTEN 6988/named
- tcp6 0 0 fe80::59ad:d7ed:6b52:53 :::* LISTEN 6988/named
- tcp6 0 0 :::80 :::* LISTEN 8316/nginx: master
- udp6 0 0 fe80::20c:29ff:fec4::53 :::* 6988/named
- udp6 0 0 fe80::20c:29ff:fec4::53 :::* 6988/named
- udp6 0 0 fe80::59ad:d7ed:6b52:53 :::* 6988/named
- udp6 0 0 fe80::59ad:d7ed:6b52:53 :::* 6988/named
- root@ubuntu24-13:/etc/bind# curl 10.0.0.13 #访问页面主页
- www.magedu.com --- this page from 10.0.0.13
复制代码 6.4、客户端访问网址
- [root@rocky9-12 ~]# cat /etc/resolv.conf #配置客户端DNS为10.0.0.13
- # Generated by NetworkManager
- # nameserver 10.0.0.12
- # nameserver 8.8.8.8
- search localdomain
- nameserver 10.0.0.13
- [root@rocky9-12 ~]# host www.magedu.com
- www.magedu.com has address 10.0.0.13
- [root@rocky9-12 ~]# curl www.magedu.com
- www.magedu.com --- this page from 10.0.0.13
- [root@rocky9-12 ~]# ping www.magedu.com -c1
- PING www.magedu.com (10.0.0.13) 56(84) 比特的数据。
- 64 比特,来自 10.0.0.13 (10.0.0.13): icmp_seq=1 ttl=64 时间=0.411 毫秒
- --- www.magedu.com ping 统计 ---
- 已发送 1 个包, 已接收 1 个包, 0% packet loss, time 0ms
- rtt min/avg/max/mdev = 0.411/0.411/0.411/0.000 ms
- [root@rocky9-12 ~]# host haoshuai.magedu.com #泛域名解析
- haoshuai.magedu.com has address 10.0.0.199
复制代码 7. 总结DNS服务器类型,解析答案,正反解析域,资源记录定义。
一、DNS服务器类型
类型功能说明主域名服务器管理特定区域的权威解析,负责区域文件的读写辅助域名服务器从主服务器同步数据,提供冗余和负载均衡根域名服务器全球13组逻辑服务器,管理顶级域地址信息顶级域服务器负责特定顶级域(如.com/.cn)解析权威域名服务器存储并返回具体域名的解析记录递归解析服务器代替客户端完成完整查询链二、解析答案类型
- 权威答案:直接来自权威服务器(AA标志)
- 非权威答案:来自递归服务器缓存
- 否定答案:NXDOMAIN响应(记录不存在)
三、正/反向解析域
正向解析
- 域名 → IP(A/AAAA记录)
- 示例:www.example.com → 192.0.2.1
反向解析
- IP → 域名(PTR记录)
- 格式:1.2.0.192.in-addr.arpa
四、资源记录(RR)
记录类型用途示例AIPv4地址解析example.com → 192.0.2.1AAAAIPv6地址解析example.com → 2001:db8::1CNAME域名别名www → example.comMX邮件服务器@ → mail.example.comNS权威服务器@ → ns1.example.comPTR反向解析192.0.2.1 → www.example.comSOA区域管理信息包含序列号、刷新时间等TXT文本验证用于SPF/DKIM配置8. 总结对称加密和非对称加密,单向哈希算法的概念和加密原理
8.1、对称加密
概念
使用相同密钥进行加密和解密,通信双方需预先共享密钥
加密原理
流程:
- 加密:明文 + 密钥 → 密文
- 解密:密文 + 相同密钥 → 明文
容易被破解,由于明文 + 密钥 是一起发送到,黑客只需要截取到就可以通过密钥解密密文
算法核心:
- 通过置换、替换、异或等数学操作混淆数据(如Feistel网络结构)
典型算法:
算法原理特点DES56位密钥,64位数据块,16轮Feistel变换3DES三重DES加密(加密-解密-加密),密钥长度112/168位AES128/192/256位密钥,字节代换、行移位、列混合、轮密钥加优缺点:
速度快,适合大数据量加密(如文件传输)
密钥分发风险高,管理复杂度大,容易被破解
8.2、非对称加密
概念
使用公钥与私钥配对:公钥公开用于加密,私钥保密用于解密或签名
加密原理
- 加密流程:
- 发送方用接收方公钥加密 → 密文 → 接收方用私钥解密
- 签名流程:
- 数学基础:
- 依赖大整数分解(RSA)、椭圆曲线离散对数(ECC)等难题
- 典型算法:
算法原理特点RSA基于大素数分解难题,公钥(n,e),私钥d(n=p×q)ECC基于椭圆曲线离散对数难题,密钥长度短、效率高
5、优缺点:- * 解决密钥分发问题,支持数字签名
- * 计算量大,速度慢于对称加密
复制代码 8.3、单向哈希算法
概念
将任意长度数据映射为固定长度哈希值,不可逆且唯一性高
核心特性
- 不可逆性:无法从哈希值推导原始数据
- 抗碰撞性:不同数据产生相同哈希值的概率极低
- 雪崩效应:输入微小变化导致输出显著差异
应用场景
场景作用密码存储加密后存储(如MD5/SHA加盐)数据校验验证文件完整性(如下载文件MD5比对)数字签名生成消息摘要供非对称加密签名唯一标识快速判定重复文件或数据8.4、对比总结
类型密钥管理速度主要用途对称加密共享单一密钥快大数据加密(如HTTPS)非对称加密公钥/私钥配对慢密钥交换、数字签名哈希算法无需密钥极快数据完整性验证、密码存储9. 总结cdn原理
CDN(内容分发网络)的核心原理是通过在全球部署边缘服务器节点,将内容缓存到离用户最近的节点上,从而加速访问。主要分为三个步骤:
1、智能路由:当用户请求内容时,DNS系统会将其引导到最近的CDN节点(基于地理位置和网络状况)
2、边缘缓存:
- 静态内容(图片/视频等)会缓存在边缘节点
- 热门内容会自动预加载到各节点
- 使用LRU等算法管理缓存
3、动态加速:- * 对动态内容优化传输路径
- * 通过协议优化(如TCP优化)减少延迟
复制代码 优势:
- 降低延迟(可减少60%以上)
- 减轻源站压力
- 提高可用性(自动故障转移)
典型应用:网站加速、视频点播、软件下载等。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |