centos7系统启动过程及相关配置文件
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需要的服务
centos7启动过程:
# find /boot/ -name *img*
/boot/grub2/i386-pc/core.img
/boot/grub2/i386-pc/boot.img
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重载此配置文件,而后可以选择重启
# systemctl daemon-reload
总结:centos5-6-7 3个系统版本启动过程:
CentOS 5: SysV init ; CentOS 6: Upstart ; CentOS 7: Systemd