CentOS 6与CentOS 7的区别

Posted 程序员爱学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 6与CentOS 7的区别相关的知识,希望对你有一定的参考价值。

现在CentOS 7已经慢慢成为主流,与之前使用最多的6相比,有以下区别:

一、系统初始化技术演变——开机启动流程

CentOS 6:采用了INIT技术,整个开机过程是自检Bios——MBR引导——GRUB加载——加载内核——启动INIT进程——读取INITTAB配置文件,根据配置文件指定的模式按顺序来启动进程服务。INIT技术让启动流程很清晰,依赖SHELL脚本。因为启动进程时是按顺序一个一个启动,所以速度慢,会因为某个服务卡住而影响系统的启动。

CentOS 7:采用了systemd技术。这是替代INIT的新技术,采用了并行方式来启动进程,所以启动速度更快,并且兼容INIT的命令以降低迁移成本。

PS:通过ps命令查看PID为1的进程可以得知当前系统所采用的技术

二、网络设置方式的改变

在CentOS 6中让人熟悉的ipconfig在CentOS 7中被ip命令取代了;图形化网络配置工具nmtui取代了setup

三、主机名与字符集

在CentOS 6中要修改主机名可以通过编辑/etc/sysconfig/network文件,但是在CentOS 7中已经废弃这个方式,而使用了/etc/hostname文件。对于临时修改主机名的方式不变,依然是hostname命令。并且CentOS 7中新增了一个主机名管理工具hostnamectl(该工具对文件名的修改是永久有效)。

而对于字符集的修改,CentOS 7使用了新的配置文件/etc/locale.conf来替代/etc/sysconfig/i18n。如果要临时修改字符集的话方式不变,修改LANG变量,如LANG=zh_CN.UTF-8。新增了字符集管理工具localectl,效果和hostnamectl一样。

四、兼容/etc/rc.local

/etc/rc.local文件中记录了需要开机后自动执行的命令,在CentOS 7中该文件虽然已经被废弃,但是也能兼容使用,只需要给该文件赋予可执行权限:

1chmod +x /etc/rc.d/rc.local

五、runlevel运行级别的区别

CentOS 6中的/etc/inittab文件是基于init技术实现的,所以在CentOS 7中自然无法使用,但是该文件依然被保留下来,只不过其中的内容已经被替换为引导内容,让用户知道现在如何切换运行级别,由于这个不常用就不继续描写。

六、服务的管理

这是让用户最不爽的修改,增加了systemctl工具,融合了service和chkconfig命令的功能,具体使用方式见图:

systemctl: 融合service和chkconfig的功能于一体

1systemctl  start  crond.service      启动服务
2systemctl  stop   crond.service      停止服务
3systemctl  restart  crond.service    重启服务
4systemctl  reload   crond.service    重载服务
5systemctl  status   crond.service    查看服务运行状态
6systemctl  list-unit-files           查看所有开机服务
7systemctl  enable   crond.service    开机自启动
8systemctl  disable  crond.service    开机不启动
9systemctl  is-enabled  crond.service 检查是否开机自启动


以上是关于CentOS 6与CentOS 7的区别的主要内容,如果未能解决你的问题,请参考以下文章

CentOS之7与6的区别

centos7与centos6的区别

centos7和centos6的区别

CentOS yum 命令出现 [Errno 14] curl#6 - "Couldn't resolve host ..." 的解决方法(代码片段

Centos 6 和Centos 7区别

CentOS 6和CentOS 7管理系统服务的区别