首先,先介绍一下CentOS7的镜像,本文中,我们使用的是CentOS7.2的镜像

CentOS7的下载地址可以从以下这个地址下载

http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso 

CentOS -7-x86_64 -DVD -1708.iso

从 CentOS 7 之后,版本命名就跟发行的日期有关了。

• CentOS-7 系统是 7.x 版本

• x86_64   64 位操作系统,并且从 7以后不再提供 以后不再提供 32 位镜像。 位镜像。

• 1708      2017 年08 月发表的版本 月发表的版本


介绍完CentOS7以后,我们开始了解6和7这两个系统到底有什么区别,熟悉了CentOS6系统以后不会用7?其实不难,接下来我们介绍两个系统到底有哪些区别


区别一

   sysvinit技术 VS systemd技术

   CentOS6,采用了sysvinit的技术

 sysvinit技术的特点:

  • 系统第一个进程是init,pid=1(这个大家应该都很熟悉)

  • init进程是所有进程的起源,不可以kill

  • 大多数linux发行版的init系统是和SystemV相兼容的,被称为sysvinit

  • 代表系统是CentOS5

 sysvinit的优缺点

   优点:

  • SysVinitSysVinit SysVinit 运行非常良好,概念简单清晰。它主要依赖于 Shell脚本,一步一步启动(CentOS6的启动过程就是个脚本一个脚本启动)

   缺点:

  • ①按照一定顺序执行 ,启动太慢

  • ②很容易 hang住,fstab与nfs挂载问题

个人 PC 机和移动平台,需要便捷,快的系统,所以此技术不被CentOS7使用

这里引入另一个技术

•     CentOS6 采用了 Upstart 技术代替 sysvinit 进行引导, Upstart 对 rc.sysinit 脚本做了大量的优化,缩短系统初始时启动间。但 是CentOS6 为了简便管理员的操 作, upstart 的很多特性并没有凸显或者 直接不支持,因此在 CentOS6 中的服务启动脚本还是以原来 SysV 的形式 提供的。

•      But ,一个应运而生的技术却因为竞争对手太强大被淘汰。

•      代表系统: CentOS6 ,Ubuntu14 ,从 CentOS7 ,Ubuntu15 开始使用 systemd


以上所述是CentOS6的启动技术


CentOS7使用的是systemd

     • 新系统都会采用的技术( RedHat7 ,CentOS7 ,Ubuntu15 等);

     • 设计目标是克服 sysvinit 固有的缺点,提高系统启动速度;

     • 和 Sysvinit 兼容,降低迁移成本;

     • 最主要优点:并行启动

     • Pid 为1的进程是systemd

什么是并发启动,并发启动的原理

     • 解决 socket 依赖 /端口依赖:系统会在服务启动之前先创建了socket供依赖服务查看,而真正的服务启动后直接使用此socket就可以了

     image.png

• 采用了 D-Bus 作为程序之间的通信工具,类似消息队列,可以缓存信息,例如A服务发送请求时向B服务的socket,其实B服务此时还没有启动,这里就要用D-Bus先缓存,

   B服务启动后再读取

image.png

• 解决文件系统依赖:优先启动要用的,其余都延迟启动加载。例如:先启动/ 或者/boot 挂载目录等开机后再启动或者用的时候再启动

image.png

以下是三种技术的启动方式

image.png


区别二


网卡名称变更:

     传统上, Linux 的网络接口名称为 的网络接口名称为 eth0 、eth1… ,但这些名称并不一定符合实际的硬件插槽等,这可能会导致同网络配置错误(例如,由无意的接口改名引起禁止接口)。 基于 MAC 地址的 udev 规则在虚拟化的环境中并不有用,这里规则在虚拟化的环境中并不有用,这里 的MAC 地址如端口数量一样无常。

    如果说,eth0网卡坏了,那么换一个网卡,就不会叫eth0了,因为服务器是根据网卡的mac地址分别的,那么换的网卡可能叫eth3

    而CentOS7,是根据网卡的插槽命名的,一般不会有变化.

    但是用习惯了eth0我们也是可以更改的,

    • 在安装系统的时候配置:修改内核选项, net.ifnames =0 biosdevname =0


区别三


网络配置相关命令:

   CentOS7主推使用ip,ss命令.  所以我们用习惯的像ifconfig,netstat,route…..这些命令就没有了,不过很神奇的是,CentOS7.4的时候又回来了,不过本文讲的是7.2的系统

   我们再安装这些命令

   yum -y install net-tools

   至于setup,可以用nmtui代替    


区别四

• 修改主机名

   hostname CentOS7 临时生效

   编辑 /etc/hostname 主机名的配置文件变了 不再是/etc/sysconfig/network了

   hostnamectl set -hostname   #→方法 2,本质还是改配置文件

• 修改字符集

   localectl set -locale zh_CN. UTF-8

   编辑 /etc /locale.conf

• cat  /etc/redhat-release 查看系统版本号

• cat  /etc/os -release  所有支持 systemd系统的一发行版名称和本号文件。


区别五


CentOS7里不推荐使用/etc/rc.local,但是如果要使用,必须加

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

   加执行权限,才可以正常使用


区别六


运行级别:Runlevel

    不再使用熟知的1,2,3,4….这些数字运行级别

    如果想查看启动级别使用:systemctl get-default

    设置启动级别:systemctl  set-default multi-user.target

    运行级别可以通过:

    [root@m01 tftpboot]# ls -lh /usr/lib/systemd/system/runlevel*.target

    lrwxrwxrwx 1 root root 15 Mar  1 18:53 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

    lrwxrwxrwx 1 root root 13 Mar  1 18:53 /usr/lib/systemd/system/runlevel1.target -> rescue.target

    lrwxrwxrwx 1 root root 17 Mar  1 18:53 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

    lrwxrwxrwx 1 root root 17 Mar  1 18:53 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

    lrwxrwxrwx 1 root root 17 Mar  1 18:53 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

    lrwxrwxrwx 1 root root 16 Mar  1 18:53 /usr/lib/systemd/system/runlevel5.target -> graphical.target

    lrwxrwxrwx 1 root root 13 Mar  1 18:53 /usr/lib/systemd/system/runlevel6.target -> reboot.target

    其实修改运行级别就是修改软链接


区别七


   管理服务:

   CentOS6使用:

   chkconfig  或 /etc/init 和 service

   CentOS7使用:

   systemctl进行了统一,兼容 SysV 和LSB的启动脚本,而且能够在进程启动过程中更有效的引导加载服务

   image.png


最后附加一个命令

systemd-analyze time         查看开机时间

systemd-analyze blame     查看各服务开机启动的时间

systemd-analyze plot > bootime.svg 生成图形界面(需要使用浏览器查看)

可以通过统计的信息,管理服务


OK,CentOS7和CentOS6的区别大概就那么多了,其实了解了这几个区别后,CentOS7就不难了



            </div>

转自:http://blog.51cto.com/12928749/2085646