centos7的启动流程(systemctl,java数据结构面试题

本文详细介绍了CentOS 7中systemd的启动流程,包括POST、Boot Sequence、Bootloader、kernel、initramfs、rootfs、/sbin/init等阶段。系统启动的关键进程为systemd,它提供了服务并行启动、按需服务管理和自动化依赖关系管理等功能。文章还深入讲解了systemctl命令的使用,如启动、停止、重启服务以及查看服务状态,并探讨了service unit文件格式及其配置选项。
  • **3. Install段的常用选项:**

  • 四. 运行级别

    • 1.CentOS 7 引导顺序
  • 2.启动排错

  • 3.破解CentOS7的root口令方法一

  • 4.破解CentOS7的root口令方法二

  • 5.修复GRUB2

  • 6.给grub加密码

一 . systemd进程

================================================================================

1. 概念


在centos7中的第一个进程为systemd

启动流程

POST --> Boot Sequence --> Bootloader --> kernel + initramfs(initrd) --> rootfs --> /sbin/init

init: CentOS 5 SysV init

CentOS 6 Upstart

CentOS 7 Systemd

Systemd:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激

活系统资源,服务器进程和其它进程

Systemd新特性

系统引导时实现服务并行启动

按需启动守护进程

自动化的服务依赖关系管理 (例如:centos6中nfs服务依赖于rpcbind,centos7中启动nfs或者rpcbind两个服务都会启动)

同时采用socket式与D-Bus总线式激活服务(例如telnet服务启动telnet.socket)

系统状态快照

并行启动----比centos6块

在这里插入图片描述

核心概念:unit

unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息

配置文件

/usr/lib/systemd/system/:每个服务最主要的启动脚本设置,类似于之前的/etc/init.d/服务脚本优先级最低

相当于不用写服务脚本,写service文件–代替服务脚本

/run/systemd/system:系统执行过程中所产生的服务脚本,比上面目录优先运行(优先级第二

/etc/systemd/system:管理员建立的执行脚本,类似于/etc/rcN.d/Sxx软连接的功能,比上面目录优先运行(优先级最高

2.Unit类型


systemctl –t help 查看unit类型

service unit: 文件扩展名为.service, 用于定义系统服务

Target unit: 文件扩展名为.target,用于

<think>好的,用户想了解CentOS 6和CentOS 7启动流程对比,可能是为了准备面试或者对比两者的差异。首先,我需要回忆这两个版本的主要区别,特别是启动过程的变化。记得CentOS 7采用了systemd替代了传统的SysV init,这一点应该是关键差异。 接下来,启动流程的阶段划分需要明确。CentOS 6的启动过程大致分为BIOS、MBR、GRUB、内核加载、init进程、运行级别对应的服务启动。而CentOS 7虽然前几个阶段类似,但到了init进程部分被systemd取代,服务管理方式完全不同。需要分阶段对比,比如预引导阶段、引导加载程序、内核初始化、用户空间初始化、服务管理等部分。 用户可能还想知道具体的组件差异,比如GRUB版本的不同,CentOS 6使用GRUB Legacy,而CentOS 7使用GRUB 2。另外,服务管理工具从chkconfig和service变成了systemctl,运行级别的概念被target取代,这些都需要详细说明。 面试中常见的问题可能包括:主要区别是什么,systemd的优势,如何查看启动时间,如何设置默认运行目标等。需要准备这些问题的答案,并给出具体的命令示例,比如使用systemctl list-units --type=target来查看目标单元。 还要注意引用用户提供的参考内容中的信息,比如引用[1]提到CentOS 7的引导和启动方式,预引导阶段的细节。同时,引用[2]中提到的Linux内核版本对容器化的支持,可能和systemd的改进有关联,但这里主要聚焦启动流程,可能需要弱化这部分。 最后,确保回答结构清晰,分点对比,使用中文,并且按照要求处理数学公式和代码块。检查是否有遗漏的关键点,比如并行启动服务、日志管理工具的变化等,这些都是systemd带来的改进,需要强调以突出差异。</think>### CentOS 6 与 CentOS 7 系统启动流程对比 #### 1. **预引导阶段** - **CentOS 6**: 从BIOS加载MBR(主引导记录),读取第一个扇区的引导程序`GRUB Legacy`,初始化硬件检测[^1]。 - **CentOS 7**: 同样通过BIOS加载MBR,但使用`GRUB 2`作为引导加载程序,支持更复杂的配置和动态模块加载[^1]。 #### 2. **引导加载程序** - **CentOS 6**: 使用`GRUB Legacy`,配置文件为`/boot/grub/grub.conf`,手动生成配置。 - **CentOS 7**: 使用`GRUB 2`,配置文件为`/boot/grub2/grub.cfg`,通过`grub2-mkconfig`自动生成配置。 #### 3. **内核初始化** 两者均加载内核和`initramfs`镜像,但后续流程不同: - **CentOS 6**: 内核启动后调用`/sbin/init`,基于**SysV init**系统,按运行级别(Runlevel)顺序执行`/etc/rc.d/rc*.d/`中的脚本。 - **CentOS 7**: 内核启动后调用`systemd`(PID=1),替代传统init系统,通过**并行启动服务**提升效率,使用`target`替代运行级别。 #### 4. **用户空间初始化** - **CentOS 6**: - 运行级别定义:`0`(关机)、`1`(单用户)、`3`(多用户文本)、`5`(图形界面)等。 - 服务管理:`service`和`chkconfig`命令。 - **CentOS 7**: - 使用`target`:例如`multi-user.target`(等价于Runlevel 3)、`graphical.target`(等价于Runlevel 5)。 - 服务管理:`systemctl`命令,支持依赖关系解析和按需启动。 #### 5. **关键差异总结** | 特性 | CentOS 6 | CentOS 7 | |---------------------|---------------------------|---------------------------| | 初始化系统 | SysV init | systemd | | 启动速度 | 串行执行脚本,较慢 | 并行启动服务,更快 | | 服务管理命令 | `service`, `chkconfig` | `systemctl` | | 日志管理 | `syslog` | `journald`(二进制日志) | | 默认文件系统 | ext4 | XFS | #### 6. **面试常见问题示例** 1. **systemd的主要优势是什么?** - 并行启动服务、按需加载依赖、统一日志管理(`journalctl`)、支持快照和状态回滚[^1]。 2. **如何查看系统启动时间?** ```bash # CentOS 6 who -b # CentOS 7 systemd-analyze ``` 3. **如何设置默认运行目标为多用户模式?** ```bash systemctl set-default multi-user.target ``` 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值