Advertisement

CentOS6与CentOS7的差异对比

阅读量:

文章目录

  • 启动步骤
  • 存储介质
  • 核心组件版本
  • 加载机制
  • 安全防护机制
  • 数据库配置项
  • 文件目录结构
  • 主机标识符
  • 时间同步机制
  • 日期更新操作
  • 地域变更信息
  • 服务配置项设置
  • 网络通信状态指示项
  • 开机重启/关闭操作流程管理项

启动流程

CentOS6启动流程

这里写图片描述

1.post加电自检

这个过程是开机后,BIOS或UEFI进行硬件检查的阶段

2.MBR引导

在硬件自检正常的情况下(例如选择BIOS为例),BIOS将直接寻找硬盘的第一个扇区并识别出其前446字节区域后将其引导标记信息(即Master Boot Record)加载至内存中。随后该引导标记信息会指示程序前往寻找系统的grub引导信息。这一操作属于grub启动过程的第一阶段。需要注意的是该流程还包括后续的1.5阶段与2阶段操作步骤

3.GRUB引导

grub在第1.5阶段及后续阶段的数据被存储于扇区中。当使用grub-install生成时,在第二阶段的文件会被放置在/boot分区里。
为了使内核系统正常启动必须先加载/boot分区但要在其中运行相应的启动程序必须先安装有完整独立的/boot分区驱动。
此外这些/drive会被放置在第一个扇区之后依次排列直至第27个扇区。
具体每个扇区占用多少字节目前尚不清楚但我们知道第1.5阶段与第二阶段总共占用了27个扇区。

stage1.5:

mbr之后的扇区,识别stage2所在的分区上的文件系统

stage2:

在启动过程中显示的Grub选项及相关信息,并且能够进行修改GRUB背景等其他功能都属于stage2提供的内容。此外,在stage2阶段会读取...相关的配置文件如-boot/grub/grub.conf或者menu.lst等文件。

4.读取grub.conf文件

读取grub.conf文件以确定内核启动的参数,准备启动内核

5.启动内核

启动内核后,在内存中执行解压操作并激活必要的基础进程。
由于硬件驱动未包含在内核文件中这一设计选择,
我们可以观察到内核文件体积较小,
只有约4MB左右,
这与Windows系统中的驱动管理方式相似,
在安装系统时通常需要下载驱动程序花费较长时间。
因此必须依靠$initramfs-2.6.32-696.el6.x86_64.img文件来完成硬件的驱动物理

[root@CentOS6 ~]# ll -h /boot/vmlinuz-2.6.32-696.el6.x86_64
-r-xr-xr-x. 1 root root 4.1M Jul 8 21:06 /boot/vmlinuz-2.6.32-696.el6.x86_64

6.加载伪文件系统(ramdisk),

内核已启动,并且再次调用ramdisk文件以尝试以驱动所有硬件设备为目标的过程。
此时之后的所有操作步骤已完成,
因此至此之后的系统初始化工作即可由程序自行完成。

7.启动init进程

GRUB 默认将 init 设置为 /sbin/init 程序,在 GRUB 的配置文件 grub.conf 中,在 kernel 行手动设置启动程序为 /bin/bash,则可以直接切换到 bash 界面而不必经过其他步骤。
内核源码约包含 996 行代码,并明确指定了 init 的启动流程。

(1)读取/etc/inittab文件

inittab文件里面定义了系统默认运行级别,这一步做了一些工作如下:

a) 基本运行层级(RUN LEVEL)
b) 系统启动脚本
c) 与该层级相关的启动文件夹
d) 配置UPS电源终端及恢复程序
e) 通过虚拟控制台创建GTT并导出终端信息
f) 将设备配置至第五级运行状态

(2)执行/etc/rc.d/rc.sysinit程序

系统初始化一些脚本,主要完成以下工作

以下是对给定文本的同义改写版本

里面说明了不同服务的启动脚本内容,在线查看可用命令是ls。其中以S开头的服务处于开机状态,在关机时需要执行的任务由K开头标识符指定。符号#代表数字形式,在这里每个数字对应一个运行级别系统共有七个不同的运行级别参数设置不作详细阐述

(4)/etc/rc.d/rc.local文件

这里面可以自定义开机启动的命令。

8.执行/bin/login

执行/bin/login程序,等待用户登录

CentOS7启动流程

CentOS7 和 CentOS6 的启动流程基本相同,在 init 程序阶段采用了 systemd 作为时间管理机制。下面将详细阐述 systemd 后的启动流程

1.uefi或BIOS初始化,开始post开机自检

2.加载mbr到内存

3.GRUB阶段

4.加载内核和inintamfs模块

5.内核开始初始化,使用systemd来代替centos6以前的init程序

(1)执行initrd.target

包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了

(2)从initramfs根文件系统切换到磁盘根目录

(3)systemd执行默认target配置

在CentOS 7中存在"运行级别"这一概念,在其设计之初主要目的是为了兼容性考虑。每一个被称作"运行级别"的对象都对应有相应的软链接映射,在未特别指定的情况下,默认启动级别的位置通常位于etc/systemd/system/default.target文件中。通过这些链接可确定系统将进入的具体模式

0 =>运行级别0的目标及关机操作,
1 =>运行级别1的目标及恢复功能,
2 =>运行级别2的操作涉及多用户支持,
3 =>运行级别3的操作同样适用于多用户环境,
4 =>运行级别4的操作继续提供基础支持,
5 =>运行级别5的操作结合图形界面使用,
6 =>运行级别6的操作负责系统的重启流程,
(4)系统执行初始化步骤。

感觉很熟悉吗?在CentOS6中被称为rc.sysint程序,并且初始化系统并为basic.target准备操作系统。

(5)systemd启动multi-user.target下的本机与服务器服务

(6)systemd执行multi-user.target下的/etc/rc.d/rc.local

6.Systemd执行multi-user.target下的getty.target及登录服务

我们熟悉了getty.target这一工具,在了解其功能后发现它是一个用于启动终端的systemd对象。在当前阶段,默认情况下并未设置启动图形桌面,则无需继续操作即可完成任务;但如果希望开启图形界面,则应在当前配置的基础上增加启动桌面程序的操作步骤

7.systemd执行graphical需要的服务

CentOS6,7启动区别

系统启动和服务器守护进程管理系统相比CentOS 5的Sysv init以及基于Ubuntu开发的CentOS 6 Upstart。Systemd由一位来自RedHat的研究人员首次提出。一旦内核启动后,在整个系统的运行中被Systemd完全接管。其中Kernel仅负责管理和协调硬件资源分配。然而 Linus对此表示不满,并认为RedHat的做法将Kernel从其原有的职责中剥离或'架空'了。

Sysv init运行程序顺序:

这里写图片描述

主要的区别就在这了。
#桌面系统
[CentOS6] GNOME 2.x
[CentOS7] GNOME 3.x(GNOME Shell)

文件系统

[CentOS6] ext4(Fourth EXtended filesystem)
[CentOS7] xfs
1.实际测试Ext4的单个目录文件超过200W个,性能下降的就比较厉

2.Ext4 的inode 个数限制(32位数)最多只能有大概40多亿文件。而且Ext4的单个文件大小最大只能支持到16T(4K block size) 的话,这些至少对于目前来说已经是瓶颈了…
3.XFS使用64位管理空间,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制。对于一个32位Linux系统,文件和文件系统的大小会被限制在16TB
1024M=1G
1024G=1T
1024T=1PB
1024PB=1EB
ZB
YB
NB
DB

内核版本

[CentOS6] 2.6.x-x
[CentOS7] 3.10.x-x

启动加载器

[CentOS6] GRUB Legacy (+efibootmgr)
[CentOS7] GRUB2

防火墙

[CentOS6] iptables
[CentOS7] firewalld

默认数据库

[CentOS6] MySQL
[CentOS7] MariaDB

文件结构

[CentOS6] /bin, /sbin, /lib, and /lib64在/下
[CentOS7] /bin, /sbin, /lib, and /lib64移到/usr下

主机名

[CentOS6] /etc/sysconfig/network
[CentOS7] /etc/hostname

时间同步

[CentOS6]
ntp ntpq -p

[CentOS7]
chrony chronyc sources

修改时间

[CentOS6]
vi /etc/sysconfig/clock 设置时区为亚洲东京 UTF8? 无效状态 sudo ln -s ["/usr/share/zoneinfo/"] Asia/Tokyo ["/etc/localtime/")

[CentOS7]
timedatectl set-timezone Asia/Tokyo timedatectl status

修改地区

[CentOS6]
vim /etc/sysconfig/i18n LANG=“ja_JP.utf8” /etc/sysconfig/i18n
$ locale

[CentOS7]
localectl set-locale LANG=ja_JP.utf8 localectl status

服务相关

启动停止
[CentOS6]
服务服务名启停 服务服务名停
$服务sshd重起/检查看看状态/重新加载sshd服务

[CentOS 7]
在CentOS 7上启动指定服务名称
在CentOS 7上暂停指定服务名称的运行
使用系统命令重启、pause或toggle状态并重新加载SSH代理服务器

2)自启动
[CentOS6]
$ chkconfig service_name on/off

[CentOS7]
systemctl enable service_name systemctl disable service_name

3)服务列表
[CentOS6]
$ chkconfig --list

[CentOS7]
systemctl list-unit-files systemctl --type service

4)强制停止
[CentOS6]
$ kill -9

[CentOS7]
$ systemctl kill --signal=9 sshd

网络

1)网络信息
[CentOS6]
netstat netstat -I
$ netstat -n

[CentOS7]
ip n ip -s l
$ ss

2)IP地址MAC地址
[CentOS6]
$ ifconfig -a

[CentOS7]
$ ip address show

3)路由
[CentOS6]
route -n route -A inet6 -n

[CentOS7]
ip route show ip -6 route show

重启关闭

1)关闭
[CentOS6]
$ shutdown -h now

[CentOS7]
poweroff systemctl poweroff

2)重启
[CentOS6]
reboot shutdown -r now

[CentOS7]
reboot systemctl reboot

3)单用户模式
[CentOS6]
$ init S

[CentOS7]
$ systemctl rescue

4)启动模式
[CentOS6]
[GUICUI]
vim /etc/inittab id:3:initdefault: [CUIGUI] startx

[CentOS7]
[GUICUI]
systemic isolate "multiuser" target [CUIGUI] systemd isolate "graphical" target
默认设置
systemic set default graphical.target 当前状态 systemd set default multiuser target
获取默认值

复制代码
    免责声明:
    一切资料仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。资料来自网络,版权争议与本人无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我联系处理。
    
    更===多===课程====请====加===v===信=== a518958666
       基于SpringCloud 微服务架构 广告系统设计与实现
       系统学习docker
       docker前后端分离实战
       Docker+Kubernetes(k8s)微服务容器化实战
       Go语言实战抽奖系统
       Go语言开发分布式任务调度 轻松搞定高性能Crontab
       20小时快速入门go语言
       Java从零到企业级电商项目实战
       SSM主流框架入门与综合项目实战
       Socket网络编程进阶与实战
    
     0. 基于Python玩转人工智能最火框架 TensorFlow应用实践
     1. webapp书城开发
     2. 组件方式开发 Web App全站
     3. 前端到后台ThinkPHP开发整站
     4. MySQL性能管理及架构设计
     5. 响应式开发一招致胜
     6. 掌握React Native技术转型随意切换
     7. Yii 2.0开发一个仿京东商城平台
     8. Python高效编程技巧实战
     9. 快速开发轻量级App
     10. 6小时 jQuery开发一个前端应用
     11. Android架构师之路 网络层架构设计与实战
     12. 程序猿的内功修炼,学好算法与数据结构
     13. Vue.js高仿饿了么外卖App 1.0到2.0版本完美升级
     14. Android 专项测试 Python篇
     15. 微信小程序入门与实战 常用组件API开发技巧项目实战
     16. Android 5.0+高级动画开发 矢量图动画 轨迹动画路径变换
     17. Android自动化测试实战 Java篇 主流工具 框架 脚本
     18. Python升级3.6 强力Django+杀手级Xadmin打造在线教育平台
     19. 高性能可扩展MySQL数据库设计及架构优化 电商项目
     20. 带领新手快速开发Android App
     21. Angular JS 仿拉勾网 WebApp 开发移动端单页应用
     22. 组件化封装思想实战Android App
     23. React.js入门基础与案例开发
     24. Yii 2.0进阶版 高级组件 优化京东平台
     25. 双平台真实开发GitHub App React Native技术全面掌握
     26. 玩转算法面试 leetcode题库分门别类详细解析
     27. Thinkphp 5.0 仿百度糯米开发多商家电商平台
     28. ThinkPHP5.0正式版第二季:实战开发企业站【完结】
     29. 最容易上手的Vue 2.0入门实战教程
     30. 聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎
     31. Angular 4.0从入门到实战 打造股票管理网站
     32. Java Spring带前后端开发完整电商平台
     33. Node.js项目线上服务器部署与发布
     34. Java大牛 带你从0到上线开发企业级电商项目
     35. ThinkPHP 5.0开发微信小程序商场打通全栈项目架构
     36. ES6零基础教学 解析彩票项目
     37. React高级实战 打造大众点评 WebApp
     38. BAT大咖助力 全面升级Android面试
     39. 全程MVP手把手 打造IM即时通讯Android APP
     40. 微信服务号+Yii 2.0构建商城系统全栈应用
     41. 机器学习入门 Scikit-learn实现经典小案例
     42. 腾讯大牛亲授 Web 前后端漏洞分析与防御技巧
     43. IT段子手详解MyBatis遇到Spring 秒学Java SSM开发大众点评 难度中级
     44. Vue 2.0 高级实战-开发移动端音乐 WebApp
     45. 全新升级 Kotlin系统入门与进阶
     46. 对接真实数据 从0开发前后端分离企业级上线项目
     47. Android应用发展趋势必备武器 热修复与插件化
     48. Laravel 快速开发简书
     49. 以慕课网日志分析为例 进入大数据 Spark SQL 的世界
     50. Get全栈技能点 Vue2.0/Node.js/MongoDB 打造商城系统
     51. Python操作三大主流数据库
     52. 前端JavaScript面试技巧
     53. Java SSM快速开发仿慕课网在线教育平台
     54. Android通用框架设计与完整电商APP开发
     55. Spring Boot企业微信点餐系统
     56. 开发微信全家桶项目 Vue/Node/MongoDB高级技术栈全覆盖
     57. Web自动化测试 Selenium基础到企业应用
     58. 高性能的 PHP API 接口开发
     59. 企业级刚需Nginx入门,全面掌握Nginx配置+快速搭建高可用架构
     60. Angular 打造企业级协作平台
     61. Python Flask 构建微电影视频网站
     62. Spring Boot带前后端 渐进式开发企业级博客系统
     63. 从零开发Android视频点播APP
     64. 前端跳槽面试必备技巧
     65. 10小时入门大数据
     66. 让你页面速度飞起来 Web前端性能优化
     67. Google面试官亲授 升级Java面试
     68. LoadRunner 工具使用 企业级性能测试实战
     69. 360大牛带你横扫PHP职场 全面解读PHP面试
     70. Python前后端分离开发Vue+Django REST framework实战
     71. Spring Security技术栈开发企业级认证与授权
     72. PHP开发高可用高安全App后端
     73. 看得见的算法 7个经典应用诠释算法精髓
     74. 全网最热Python3入门+进阶 更快上手实际开发
     75. Android互动直播APP开发
     76. JMeter 深入进阶性能测试体系 各领域企业实战
     77. Node.js入门到企业Web开发中的应用
     78. SSM到Spring Boot 从零开发校园商铺平台
     79. 深度学习之神经网络核心原理与算法
     80. BAT大厂APP架构演进实践与优化之路
     81. PHP秒杀系统 高并发高性能的极致挑战
     82. Java开发企业级权限管理系统
     83. Redux+React Router+Node.js全栈开发
     84. Redis从入门到高可用,分布式实践
     85. ES6+ 开发电商网站的账号体系 JS SDK
     86. Spark Streaming实时流处理项目实战 
     87. 快速上手Linux 玩转典型应用 
     88. Python接口测试框架实战与自动化进阶 
     89. Python3数据科学入门与实战
     90. Android高级面试 10大开源框架源码解析
     91. 移动端App UI 设计入门与实战
     92. 精通高级RxJava 2响应式编程思想
     93. Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式
     94. Webpack + React全栈工程架构项目实战精讲
     95. 快速上手Ionic3 多平台开发企业级问答社区
     96. 全面系统讲解CSS 工作应用+面试一步搞定
     97. 跨平台混编框架 MUI 仿豆瓣电影 APP
     98. Kotlin打造完整电商APP 模块化+MVP+主流框架
     99. BAT大牛亲授 基于ElasticSearch的搜房网实战
     100. Python3入门机器学习 经典算法与应用
     101. Java秒杀系统方案优化 高性能高并发实战
     102. 四大维度解锁 Webpack3.0 工具全技能 
     103. 手工测试企业项目实践及面试提升 
     104. 基于Storm构建实时热力分布项目实战 
     105. Java深入微服务原理改造房产销售平台 
     106. 全网稀缺Python自动化运维项目实战 
     107. 前端成长必经之路-组件化思维与技巧 
     108. 基于Python玩转人工智能最火框架 TensorFlow应用实践
     109. Koa2框架从0开始构建预告片网站
     110. React16+React-Router4 从零打造企业级电商后台管理系统
     111. Google资深工程师深度讲解Go语言
     112. 微信小游戏入门与实战 刷爆朋友圈
     113. Elastic Stack从入门到实践
     114. Python移动自动化测试面试
     115. Python3数据分析与挖掘建模实战
     116. Tomcat+Memcached/Redis集群 构建高可用解决方案
     117. 系统学习Docker 践行DevOps理念
     118. Spring Cloud微服务实战
     119. 揭秘一线互联网企业 前端JavaScript高级面试
     120. OpenCV+TensorFlow 入门人工智能图像处理
     121. 基于Golang协程实现流量统计系统
     122. 移动端自动化测试Appium 从入门到项目实战Python版
     123. UI动效设计从入门到实战 PC与移动界面设计必学
     124. Java并发编程与高并发解决方案
     125. Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲
     126. 韩天峰力荐 Swoole入门到实战打造高性能赛事直播平台
     127. Docker+Kubernetes(k8s)微服务容器化实践
     128. Python Flask高级编程
     129. ZooKeeper分布式专题与Dubbo微服务入门
     130. App界面设计利器Sketch 精选案例合集
     131. Python高级编程和异步IO并发编程
     132. 新浪微博资深大牛全方位剖析 iOS 高级面试
     133. Vue2.5开发去哪儿网App 从零基础入门到实战项目
     134. 最全面的Java接口自动化测试实战
     135. HBase+SpringBoot实战分布式文件存储
     136. Gradle3.0自动化项目构建技术精讲+实战
     137. 玩转数据结构 从入门到进阶
     138. MyCAT+MySQL 搭建高可用企业级数据库集群
     139. 验证码图像识别,快速掌握TensorFlow模型构建与开发
     140. SpringBoot2.0不容错过的新特性 WebFlux响应式编程
     141. 响应式开发一招致胜
     142. jquery源码分析
     143. AngularJS全栈开发知乎
     144. 揭秘一线互联网企业 前端JavaScript高级面试
     145. JavaScript版 数据结构与算法
     146. Koa2 实现电影微信公众号前后端开发
     147. Koa2+Nodejs+MongoDb 入门实战视频教程 
     148. Node.js 从零开发 web server博客项目 前端晋升全栈工程师必备
     149. Vue.js 源码全方位深入解析
     150. Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲
     151. Vue全家桶+SSR+Koa2全栈开发美团网
     152. 飞速上手的跨平台App开发
     153. 前端JS基础面试技巧
     154. 前端跳槽面试必备技巧
     155. 让你页面速度飞起来 Web前端性能优化
     156. 微信小程序商城构建全栈应用
     157. 移动Web APP开发之实战美团外卖
     158. Thinkphp 5.0 仿百度糯米开发多商家电商平台
     159. ThinkPHP5.0正式版第二季:实战开发企业站
     160. ThinkPHP 5.0开发微信小程序商场打通全栈项目架构
     161. 前端到后台ThinkPHP开发整站
     162. PHP从基础语法到原生项目开发
     163. PHP高性能 高价值的PHP API
     164. 360大牛全面解读PHP面试
     165. PHP开发高可用高安全App后端
     166. PHP秒杀系统 高并发高性能的极致挑战
     167. Swoole入门到实战打造高性能赛事直播平台
     168. YII 2.0开发一个仿京东商城平台
    
    ......
    ......
    更===多===课程====请====加===v===信=== a518958666
             
      ╭══════════════════════════════════════════╮                                                       ║
     ║    说明:教程版权归原作者所有,本人只是负责搜集整理,本人     ║
      ║          不承担任何技术及版权问题。本人分享的任何教程仅提        ║
      ║          供学习参考,不得用于商业用途,请在下载后在24小时       ║
      ║          内删除。                                                                          ║
      ║                                                                                                 ║
      ║     1.请遵守中华人民共和国相关法律、条例                                ║
      ║     2.本人提供的各类视频教程仅供研究学习,本人不承担观看     ║
      ║       本教程后造成的一切后果                                                    ║
      ║     3.本人不保证提供的教程十分安全或是完全可用,请下载后    ║
      ║       自行检查                                                                           ║
      ║     4.本人提供的教程均为网上搜集,如果该程序涉及                 ║
      ║       或侵害到您的版权请立即写信通知我们。                            ║
      ║     5.如不同意以上声明,请立即删除,不要使用,谢谢合作       ║
      ║                                                                                               ║
      ╰═════════════════════════════════════════╯
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

全部评论 (0)

还没有任何评论哟~