第一章 系统结构
1.1 硬件基础知识
1.1.1 基础硬件
CPU :中央处理器,用于处理和运算数据。CPU的主频越高,缓存越大,核心数越多, 运算速度越快。
内存:数据的临时储存器,关机后数据就没有了。Linux系统需要配置512MB~1GB或以上的内存。
硬盘:长期存储大量数据。有内置的硬盘也有外接的。
输入装置:键盘和鼠标。
扩展卡:主板插槽上的硬件。有网卡,声卡,调制解调器卡,显卡,SCSI卡,RAID卡等。取出卡时要关闭电源。
USB:U盘,系统接通电源时可插入可拔出。
1.1.2 BIOS/UEFI:开机检测程序。
1.1.3 确认硬件情况
/dev目录:存放与设备(包括外设)有关的文件。
/proc目录:记录与device(设备)相关的情报。提供了有关系统CPU的多种信息。
lspci命令(显示当前设备所有PCI总线信息,以及所有已连接的PCI设备信息,如网卡储存卡)
[选项]
-v 详细信息
-vv 更详细的信息
1.1.4 USB设备:lsusb命令(显示USB设备列表,以及USB设备的详细信息。)
lsusb [选项]
[选项] -v 详细信息 -t USB设备的构造树状图
1.1.5 显示已加载模块状态:udev(设备管理工具)
D-Bus(适用于桌面应用的进程间的通讯机制)
1.1.6 设备加载: lsmod命令(显示已加载模块状态)
modprobe命令(内核模块智能加载工具)手动加载
1.2 Linux的开机与关机
1.2.1 系统开机前的流程:BIOS/UEFI --> BootLoader(启动加载器)--> Kernel(内核)--> init/systemd
Linux 操作系统的启动首先从 BIOS 开始,进而从磁盘加载MBR,接下来进入 bootloader,载入内核,完成内核初始化。内核初始化的最后一步是启动 pid 为1
的init进程,这个进程是系统的第一个进程,它负责产生其他用户进程。
1.2.2 开机时的状态确认: dmesg命令 (显示开机信息); cat命令(在终端设备上显示文件内容);journalctl -k命令(查看内核日志)
1.2.3 系统关机和重启:shutdown命令(关闭服务器)
shutdown [选项] 时间 [信息]
[选项]
-h 关机
-r 关机后重启
-f 下次启动时 略过fsck
-F 下次启动时 执行fsck
-k 通知关机
-c 取消关机
[例子]
- 5分钟后关机: #shutdown -h +5
- 关机并通知:#shutdown -k now 'Please logout immediately.'
- 22点关机:#shutdown -h 22:00
- 重启:#shutdown -r now
1.3 SysVinit:早期的大多数 Linux 发行版的 init 系统是和 System V 相兼容的,被称为SysVinit。它源于 System V 系列 UNIX 。
1.3.1 SysVinit 启动:
1,init读取/etc/inittab文件
2,init读取/etc/rc.sysinit脚本
3,init运行/etc/rc脚本
4,/etc/rc脚本实行/etc/rc<运行级>.d 目录之下的脚本
1.3.2 运行级:设置了7个不同的运行级,系统可以在这些运行级别之间进行切换以完成不同的工作。
运行级 说明
0 关闭计算机
1 单用户模式
2 多用户模式(不带网络文件系统NFS支持功能)
3 多用户模式(不带网络文件系统NFS支持功能)
4 系统保留备用
5 多用户模式(图形方式登录)
6 重新启动
S或s 单用户模式
1.3.3 运行级的确认与变更:runlevel命令(显示系统的运行级)init命令(切换系统运行级别)telinit命令(更改系统的运行级别)wall命令(输出信息)
1.3.4 启动脚本服务的管理
1.3.5 默认运行级的设置:/etc/inittab文件夹可设置默认运行级。
1.4 systemd:一个系统管理守护进程、工具和库的集合
1.4.1 systemd的概要:系统启动的过程是有很多单位(Unit)组成的。
Unit的种类
种类 说明
service 后台服务进程
device 设备配置单元
mount 文件系统的挂载
swap 交换配置单元用来管理交换分区
target 合并配置单元为一组
timer 定时触发用户定义的操作
1.4.2 systemd的启动步骤
SysVinit运行级与Target单元
运行级 Target单元
0 poweroff.target 关机
1 rescue.target 救援模式
2,3,4 multi-user.target 切换没有图形界面的多用户模式
5 graphical.target 切换图形界面的多用户模式
6 reboot.target 重启
1.4.3 systemctl的服务管理
systemctl命令(管理系统服务)
sytemctl 副命令 [Unit名称] [-t 种类]
副命令 说明
start 启动服务
stop 结束服务
restart 重启服务
reload 重新载入服务
status 服务状态显示
is-active 确认在服务状态中
enable 系统启动时自动启动服务
disable 解除系统启动时自动启动模式
mask 禁止指定的服务
unmask 解除禁止指定的服务
list-dependencies unit的从属关系显示
list-units 启动的同时显示所有unit的状态
list-unit-files 显示所有的unit
reboot 系统重启
poweroff 系统关闭