系统管理
文章目录
- 系统管理
- 前言
- 一、Linux 系统引导过程
- 1.1开机自检
- 1.2 MBR 引导
- 1.3 GRUB 引导菜单
- 1.4 加载 Linux 内核
- 1.5 init 进程初始化
- 二、Systemd 服务管理
- 2.1 Systemd 的优点
- 2.2 运行级别与 Systemd 目标
- 三、设置与切换运行级别
- 四、扩展(centos6系统)
- 总结
前言
本文档详细介绍了 Linux 系统的引导过程、GRUB2 引导程序的特点和Systemd 服务管理的使用方法。
一、Linux 系统引导过程
1.1开机自检
- 过程:系统开机后,通过 BIOS 对 CPU、内存、显卡、键盘等硬件设备进行初步检测,检测成功后根据 BIOS设置的启动顺序,系统会选择一个设备进行引导。
- 总结:检测到第一个能够启动的设备,如硬盘或光驱、U盘。
1.2 MBR 引导
- 过程: 如果从硬盘启动,系统会从硬盘的第一个扇区加载 MBR(主引导记录),并通过 MBR 启动菜单(如 GRUB)选择操作系统启动。
- 总结:从硬盘的 MBR 引导程序启动,运行 GRUB 引导加载器。
1.3 GRUB 引导菜单
- 过程:GRUB(GRand Unified Bootloader)是 Linux 常用的多重操作系统引导程序。GRUB会显示启动菜单,用户选择启动项后加载操作系统的内核文件,并将控制权交给内核。
- 配置件:/boot/grub2/grub.cfg
- 总结:GRUB 引导程序读取 /boot/grub2/grub.cfg 文件,加载并启动操作系统内核。
1.4 加载 Linux 内核
- 过程:内核文件是一个预编译的二进制文件,介于硬件与系统程序之间,负责管理硬件资源和系统进程。
- 总结:将内核文件和镜像文件加载到内存。
1.5 init 进程初始化
- 过程:内核加载后,会启动系统的初始化进程 /sbin/init,该进程负责进一步的系统初始化工作,如加载硬件驱动、启动系统服务,最终等待用户登录。
- 总结:内核加载并启动 init进程,完成系统的初始化。
二、Systemd 服务管理
2.1 Systemd 的优点
- 并行启动服务:与传统的 SysVinit 相比,Systemd 支持并行启动多个服务,从而加速系统启动过程。
- 按需启动服务:Systemd可以按需启动服务,避免了启动不必要的服务,提高了系统的效率。
- 总结:Systemd 改善了系统的启动速度和服务管理效率,解决了SysVinit 启动慢和脚本复杂的问题。
2.2 运行级别与 Systemd 目标
| 运行级别 | Systemd 目标 | 说明 |
|---|---|---|
| 0 | poweroff.target | 关机 |
| 1 | rescue.target | 单用户模式(维护) |
| 2、3、4 | multi-user.target | 多用户字符界面 |
| 5 | graphical.target | 图形化界面 |
| 6 | reboot.target | 重启 |
- 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的;
- 1单用户模式,root权限,用于系统维护,禁止远程登录(只能通过实机进去),该模式的进入方式百度操作即可;就像windows下的安全模式登录;(进入单用户模式的时候root不需要密码就可以登录,所以在此模式下可以修改root密码)
- 2 多用户模式,没有NFS和网络支持;
- 3 完整的多用户文本模式,有NFS和网络,登录后进入控制台命令行模式。
- 4系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电池用尽时,可以切换到这个模式来做一些设置;
- 5图形化模式,登录后进入图形GUI模式,X windows系;
- 6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。
三、设置与切换运行级别
- 查看当前默认目标
systemctl get-default- 设置默认目标
systemctl set-default multi-user.target#设置默认目标为最小话界面systemctl isolate graphical.target#切换图形界面- 启动服务开机自启动
systemctlenablehttpd.service- 查看服务的开机启动状态
systemctl is-enable httpd.service- 禁用服务开机自启动
systemctl disable httpd.service#禁用服务开机自启动systemctl is-enable httpd.service#查看服务的开机- 查看服务状态
systemctl status httpd.service- 开启服务
systemctl start httpd.service#开启服务systemctl start httpd.service#查看服务状态- 关闭服务
systemctl stop httpd.service#关闭服务systemctl status httpd.service#查看状态- 重启服务
systemctl restart httpd.service#重启服务systemctl status httpd.service- 重新加载
systemctl reload firewalld.service- 列出所有已启用的服务
systemctl list-unit-files|grepenabled- 查看系统中所有已激活的服务
systemctl list-units--type=service- 永久修改主机名
hostnamectl set-hostname newname hostnamectl#查看主机名四、扩展(centos6系统)
- 查看服务状态
chkconfig--listhttpd- 添加服务到系统
chkconfig--addhttpd- 设置服务在特定级别下启
chkconfig--level35httpd on总结
- 引导过程:开机自检 → MBR → GRUB → 内核加载 → init 进程。
- Systemd:通过目标和并行启动优化服务管理。
- 服务控制:使用 systemctl 管理服务状态和运行级别。