目录
一.引导过程
1.加电检测硬件是否有故障,如果无故障,就去bios中设置的第一启动项找操作系统
引导硬件找到操作系统 grub 完整的程序2.MBR引导第一个扇区的前446字节 有一个 grub 程序第-阶段
3.grub会根据grub.cfg 配置文件找到操作系统
4加载内核(操作系统)
5.启动程序祖宗进程 centos7 svstemd centos6 init
1.1 GRUB菜单
对于 Linux 操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是 使用最为广泛的多系统引导器程序。系统控制权传递给 GRUB 以后,将会显示启动菜单给 用户选择,并根据所选项(或采用默认值)准备加载 Linux 内核文件,然后将系统控制权转交给 内核。需要注意的是,CentOS 7 采用的是 GRUB2 启动引导器。
总结:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置
二. systemd服务
2.1 sysemd介绍
在 Linux 中,Systemd 是一种初始化系统和服务管理器,它负责启动和管理系统上的各种服务。Systemd 取代了传统的 SysVinit 和 Upstart,成为大多数现代 Linux 发行版的默认初始化系统。
Systemd 服务的介绍:
初始化过程:
- 在 Linux 启动时,系统会首先启动 Systemd 进程,作为第一个用户空间进程。
- Systemd 负责启动和管理其他系统进程和服务。
Unit(单元):
- 在 Systemd 中,每个服务都表示为一个单元(unit)。
- 单元是 Systemd 配置文件的一种类型,用于描述系统中的不同组件和任务,包括服务单元、套接字单元、挂载单元等。
Service Unit(服务单元):
- Service Unit 是 Systemd 单元的一种,用于描述一个后台守护进程或服务。
- Service Unit 的配置文件通常位于
/etc/systemd/system/
或/usr/lib/systemd/system/
目录下,并使用.service
扩展名。- Service Unit 文件包含了服务的启动方式、依赖关系、环境变量、启动参数等信息。
服务管理:
- 使用 Systemd,管理员可以方便地启动、停止、重启和监控系统中的服务。
- 通过
systemctl
命令可以管理 Systemd 服务,如启动服务、停止服务、重启服务、查看服务状态、设置服务开机自启动等。开机自启动:
- Systemd 允许管理员配置哪些服务在系统启动时自动启动。
- 通过
systemctl enable
命令,可以将某个服务设置为开机自启动。日志记录:
- Systemd 提供了强大的日志记录和跟踪功能,可以通过
journalctl
命令查看系统日志。并行启动:
- Systemd 支持并行启动,可以同时启动多个服务,从而加快系统启动速度。
依赖关系管理:
- Systemd 可以管理服务之间的依赖关系,确保服务按正确的顺序启动和停止。
2.2 systemctl常用命令
ps: 如果想使用systemctl命令控制程序必须/usr/lib/systemd/system/
目录下创建并编辑.service文件接下来我将用编译安装nginx的方式成功使用systemctl控制。
2.3systemctl实验控制程序(nginx为例)
cd 进到 nginx文件夹
运行./configure文件
如果需要nginx命令补全则可建立软连接到 /usr/sbin/目录里面
接着我们进入上文所说的systemd配置库中/usr/lib/systemd/system/
创建.servicew文件
wq保存
查看是否可以用systemctl命令控制nginx程序
开启
设置开机自启
浏览器输入主机地址看是否成功