本节所讲内容:
- centos6 系统启动过程及相关配置文件
- centos7 系统启动过程及相关配置文件
- 实践-加密grub防止黑客通过单用户系统破解 root 密码
- 实践-通过 liveCD 进入救援模式-重装 grub 修复损坏的系统
1、Centos6系统启动过程及相关配置
2、Centos7系统启动过程及相关配置文件
2.1、Centos7系统启动过程
CentOS7引导顺序:
- UEFI 或 BIOS 初始化,运行 POST 开机自检
- 选择启动设备
- 引导装载程序, centos7是grub2
- 加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
- 加载内核选项
- 加载initramfs初始化伪文件系统
- 内核初始化,centos7使用systemd代替init
- 执行initrd.target所有单元,包括挂载/etc/fstab
- 从initramfs根文件系统切换到磁盘根目录
- systemd执行默认target配置,配置文件/etc/systemd/system/default.target
- systemd执行sysinit.target初始化系统及basic.target准备操作系统
- systemd启动multi-user.target下的本机与服务器服务
- systemd执行multi-user.target下的/etc/rc.d/rc.local
- Systemd执行multi-user.target下的getty.target及登录服务
- systemd执行graphical需要的服务
[root@xuegod63 logs]# find /boot/ -name *img*
/boot/grub2/i386-pc/core.img
/boot/grub2/i386-pc/boot.img
2.2、Systemd运行原理了解一下
Systemd概述:systemd即为 system daemon [ˈdi:mən] 守护进程,是linux下的一种init软件,开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低 Shell 的系统开销的效果,最终代替现在常用的 System V 与 BSD 风格 init 程序。
与多数发行版使用的System V风格init相比,systemd采用了以下新技术: (1) 采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能; (2) 用Cgroups代替PID来追踪进程,以此即使是两次fork之后生成的守护进程也不会脱离systemd的控制。
unit对象:unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息
Systemd 配置文件:
- /usr/lib/systemd/system/ #这个目录存储每个服务的启动脚本,类似于之前的/etc/init.d/
- /run/systemd/system/ #系统执行过程中所产生的服务脚本,比上面目录优先运行
- /etc/systemd/system/ #管理员建立的执行脚本,类似于/etc/rc.d/rcN.d/Sxx类的功能,比上面目录优先运行
注意:对于新创建的 unit 文件,或者修改了 unit 文件,要通知 systemd 重载此配置文件,而后可以选择重启
[root@xuegod63 ~]# systemctl daemon-reload
总结:centos5-6-7 3个系统版本启动过程:
CentOS 5: SysV init ; CentOS 6: Upstart ;CentOS 7: Systemd
2.3 管理系统服务
命令:systemctl COMMAND name.service
| | centos6 | centos7 |
|