CentOS 作为网站服务器操作系统Linux发行版首选,很多站长们应该都不陌生,今天明月就给大家讲讲 CentOS 6 和 CentOS 7 的区别以方便大家做好区分和选择。

centos-logo.jpg

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

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

upgrade-centos-6-to-7.jpg

三、主机名与字符集

在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中该文件虽然已经被废弃,但是也能兼容使用,只需要给该文件赋予可执行权限:

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

五、runlevel运行级别的区别

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

六、服务的管理

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

systemctl: 融合servicechkconfig的功能于一体

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

最后修改:2018 年 04 月 14 日
如果觉得我的文章对你有用,请随意赞赏