Rocky 系统的启动流程和 GRUB 工作流程:
- Rocky 系统启动流程:
- 加电自检(POST):系统启动时,首先进行硬件自检,检查硬件设备是否正常。
- BIOS/UEFI 初始化:BIOS 或 UEFI 固件被激活,负责初始化硬件设备,并查找可引导设备。
- 引导加载程序(GRUB):BIOS/UEFI 将控制权传递给引导加载程序,如 GRUB。GRUB 负责加载操作系统内核。
- 内核初始化:内核被加载到内存中并开始初始化。它检测硬件设备、加载驱动程序,并建立系统的基本运行环境。
- 系统初始化:内核启动 init 进程或 systemd,后者负责启动系统的各种服务和进程,完成系统的初始化。
- 用户登录:系统启动完成后,用户可以登录系统,开始使用各种应用程序。
- GRUB 工作流程:
- BIOS/UEFI 将控制权传递给 GRUB。
- GRUB 显示启动菜单,用户可以选择要启动的操作系统或内核版本。
- GRUB 根据用户的选择,加载相应的内核和 initramfs(初始 RAM 文件系统)。
- GRUB 将控制权传递给内核,内核开始初始化。
- Rocky 系统启动流程:
AWK 工作原理、命令、选项和示例:
- 工作原理:AWK 是一种文本处理工具,它逐行读取输入文件,并将每行文本分割成字段。然后,根据用户提供的模式和动作,对每行文本进行处理。AWK 可以进行文本过滤、格式化输出、计算等操作。
- 命令格式:
awk [options] 'pattern { action }' file
- 常用选项:
-F fs
:指定输入文件的字段分隔符。-v var=value
:定义变量并赋值。
- 示例:
- 打印文件中每行的第一个字段:
awk '{print $1}' /root/abc.txt
- 计算文件中每行的第二个字段之和:
awk '{sum+=$2} END {print sum}' /root/abc.txt
- 打印文件中每行的第一个字段:
打印/etc/passwd 的奇数行:
- 使用
sed
:sed -n 'p;n' /etc/passwd
- 使用
awk
:awk 'NR%2==1' /etc/passwd
- 使用
打印 Linux 系统的“IP 地址、系统版本、CPU 核心、内存大小”:
- IP 地址:可以使用
ip addr
命令获取 IP 地址,例如:ip addr show | grep inet | awk '{print $2}' | cut -d '/' -f 1
。 - 系统版本:可以使用
uname -r
命令获取系统内核版本,使用cat /etc/os-release
命令获取系统发行版信息。 - CPU 核心:可以使用
lscpu
命令获取 CPU 信息,包括核心数量。 - 内存大小:可以使用
free -h
命令获取内存大小信息。 - 或者利用shell脚本一条命令也可以显示
- echo "IP 地址: $(ip a | grep -Ewo "(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" | head -n2 | tail -n1 ), 系统版本: $(cat /etc/os-release | grep -w "VERSION_ID" | cut -d '"' -f 2), CPU 核心数: $(nproc), 内存大小: $(free -h | grep Mem | awk '{print $2}')"
- IP 地址:可以使用
在文本的所有行前加序号:
- 使用
awk
:awk '{print NR,$0}' file
- 使用
sed
:sed = file | sed 'N;s/\(.*\)\n\(.*\)/\2\t\1/'
- 使用
统计某个文件夹下的文件占用的字节数:
- 使用
du
命令:du -b /root/abc.txt
,其中-b
选项表示以字节为单位显示文件大小。
- 使用
内核设计流派及特点:
- 宏内核(Monolithic Kernel):
- 特点:将操作系统的核心功能全部集成在一个内核中,包括进程管理、内存管理、文件系统、设备驱动等。宏内核的优点是性能高,因为所有功能都在同一个地址空间中运行,函数调用和数据传递的开销较小。缺点是扩展性和可维护性较差,因为所有功能都集成在一起,一个模块的错误可能会影响整个系统的稳定性。
- 微内核(Microkernel):
- 特点:将操作系统的核心功能尽可能地分离成多个独立的服务,每个服务运行在自己的地址空间中,通过消息传递进行通信。微内核的优点是扩展性和可维护性好,因为每个服务都是独立的,可以单独进行开发、测试和维护。缺点是性能较低,因为消息传递的开销较大。
- 宏内核(Monolithic Kernel):
systemd 服务配置文件:
- systemd 使用单元文件(unit file)来配置和管理系统服务。单元文件通常位于
/etc/systemd/system/
目录下。 - 单元文件的主要部分包括:
- [Unit] 部分:定义服务的通用信息,如描述、依赖关系等。
- [Service] 部分:定义服务的具体行为,如启动命令、运行用户、环境变量等。
- [Install] 部分:定义服务的安装信息,如是否在系统启动时自动启动等。
- systemd 使用单元文件(unit file)来配置和管理系统服务。单元文件通常位于
system 启动流程:
- 加电自检(POST):系统启动时,首先进行硬件自检,检查硬件设备是否正常。
- BIOS/UEFI 初始化:BIOS 或 UEFI 固件被激活,负责初始化硬件设备,并查找可引导设备。
- 引导加载程序(如 GRUB):BIOS/UEFI 将控制权传递给引导加载程序,引导加载程序负责加载操作系统内核。
- 内核初始化:内核被加载到内存中并开始初始化。它检测硬件设备、加载驱动程序,并建立系统的基本运行环境。
- systemd 初始化:内核启动 systemd,systemd 负责启动系统的各种服务和进程,完成系统的初始化。
- 用户登录:系统启动完成后,用户可以登录系统,开始使用各种应用程序。
DNS 域名三级结构:
- 顶级域名(Top-Level Domain,TLD):如
.com
、.org
、.net
等。 - 一级域名(Second-Level Domain,SLD):如
www.baidu.com
中的baidu.com
。 - 二级域名(Third-Level Domain,TLD):如
bbs.baidu.com
中的bbs.baidu.com
。
- 顶级域名(Top-Level Domain,TLD):如
DNS 服务工作原理及递归和迭代查询原理:
- 工作原理:DNS(Domain Name System)是一种将域名转换为 IP 地址的分布式数据库系统。当用户在浏览器中输入一个域名时,浏览器会向本地 DNS 服务器发送一个 DNS 查询请求。本地 DNS 服务器如果不知道该域名对应的 IP 地址,会向其他 DNS 服务器发送查询请求,直到找到该域名对应的 IP 地址为止。
- 递归查询:客户端向本地 DNS 服务器发送查询请求,本地 DNS 服务器如果不知道该域名对应的 IP 地址,会向其他 DNS 服务器发送查询请求,直到找到该域名对应的 IP 地址为止。然后,本地 DNS 服务器将查询结果返回给客户端。
- 迭代查询:客户端向本地 DNS 服务器发送查询请求,本地 DNS 服务器如果不知道该域名对应的 IP 地址,会向根 DNS 服务器发送查询请求。根 DNS 服务器返回顶级域名服务器的地址,本地 DNS 服务器再向顶级域名服务器发送查询请求。顶级域名服务器返回二级域名服务器的地址,本地 DNS 服务器再向二级域名服务器发送查询请求,以此类推,直到找到该域名对应的 IP 地址为止。然后,本地 DNS 服务器将查询结果返回给客户端。
实现私有 DNS,供本地网络主机作 DNS 递归查询:
- 可以使用 Bind9 等 DNS 服务器软件来实现私有 DNS。首先,安装和配置 Bind9,设置 DNS 区域和资源记录。然后,在本地网络的主机上配置 DNS 服务器地址为私有 DNS 的 IP 地址,即可实现本地网络主机作 DNS 递归查询。
DNS 服务器类型、解析答案、正反解析域、资源记录定义:
- DNS 服务器类型:
- 主域名服务器(Primary Name Server):负责维护一个区域的域名信息,是该区域的权威服务器。
- 从域名服务器(Secondary Name Server):从主域名服务器复制域名信息,提供冗余和负载均衡。
- 缓存域名服务器(Caching Name Server):不维护区域信息,只缓存查询结果,提高查询效率。
- 解析答案:DNS 服务器根据查询请求返回的域名对应的 IP 地址或其他信息。
- 正反解析域:
- 正向解析域:将域名转换为 IP 地址。
- 反向解析域:将 IP 地址转换为域名。
- 资源记录定义:DNS 服务器使用资源记录(Resource Record,RR)来存储域名信息。常见的资源记录类型包括:
- A 记录:将域名映射到 IPv4 地址。
- AAAA 记录:将域名映射到 IPv6 地址。
- CNAME 记录:将一个域名别名映射到另一个域名。
- MX 记录:指定邮件服务器的域名。
- NS 记录:指定区域的名称服务器。
- DNS 服务器类型:
实现 DNS 主从同步,实现 DNS 子域授权:
- 实现 DNS 主从同步:
- 在主域名服务器上配置允许从域名服务器进行区域传输。
- 在从域名服务器上配置从主域名服务器进行区域传输。
- 主域名服务器上的区域数据发生变化时,会通知从域名服务器进行区域传输,以保持主从服务器上的区域数据一致。
- 实现 DNS 子域授权:
- 在父域的 DNS 服务器上配置子域的名称服务器(NS)记录,指定子域的权威服务器。
- 在子域的权威服务器上配置子域的区域数据。
- 实现 DNS 主从同步:
OpenSSH 服务安全加固和免密认证原理及实现过程:
- 安全加固:
- 禁用 root 用户直接登录。
- 更改 SSH 端口号。
- 使用密钥认证代替密码认证。
- 限制 SSH 登录的用户和 IP 地址。
- 免密认证原理:使用公钥加密技术,客户端生成一对密钥(公钥和私钥),将公钥上传到服务器。当客户端登录服务器时,服务器使用客户端的公钥加密一个随机字符串,发送给客户端。客户端使用私钥解密该字符串,并将解密后的结果发送回服务器。服务器验证客户端的身份,如果验证通过,则允许客户端登录。
- 免认证实现过程:
- 在客户端生成密钥对:
ssh-keygen
。 - 将公钥上传到服务器:
ssh-copy-id user@server
。
- 在客户端生成密钥对:
- 安全加固:
对称加密和非对称加密的概念和常见加密算法:
- 对称加密:
- 概念:对称加密是一种加密方式,使用相同的密钥进行加密和解密。对称加密的优点是加密和解密速度快,缺点是密钥的管理和分发比较困难。
- 常见算法:DES、3DES、AES 等。
- 非对称加密:
- 概念:非对称加密是一种加密方式,使用一对密钥(公钥和私钥)进行加密和解密。公钥可以公开,任何人都可以使用公钥进行加密;私钥只有所有者知道,用于解密用公钥加密的信息。非对称加密的优点是密钥的管理和分发比较容易,缺点是加密和解密速度较慢。
- 常见算法:RSA、DSA、ECC 等。
- 对称加密:
版权归原作者 leexzi 所有, 如有侵权,请联系我们删除。