1-17-Linux系统启动原理及故障排除

本节所讲内容:

  • centos6 系统启动过程及相关配置文件
  • centos7 系统启动过程及相关配置文件
  • 实践-加密grub防止黑客通过单用户系统破解 root 密码
  • 实践-通过 liveCD 进入救援模式-重装 grub 修复损坏的系统

1、Centos6系统启动过程及相关配置

2、Centos7系统启动过程及相关配置文件

2.1、Centos7系统启动过程

CentOS7引导顺序:

  1. UEFI 或 BIOS 初始化,运行 POST 开机自检
  2. 选择启动设备
  3. 引导装载程序, centos7是grub2
  4. 加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
  5. 加载内核选项
  6. 加载initramfs初始化伪文件系统
  7. 内核初始化,centos7使用systemd代替init
  8. 执行initrd.target所有单元,包括挂载/etc/fstab
  9. 从initramfs根文件系统切换到磁盘根目录
  10. systemd执行默认target配置,配置文件/etc/systemd/system/default.target
  11. systemd执行sysinit.target初始化系统及basic.target准备操作系统
  12. systemd启动multi-user.target下的本机与服务器服务
  13. systemd执行multi-user.target下的/etc/rc.d/rc.local
  14. Systemd执行multi-user.target下的getty.target及登录服务
  15. 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 |
|

猜你喜欢

转载自www.cnblogs.com/zenglm7/p/12303216.html