Liunx笔记:CentOS6和CentOS7的区别

汉克书维护者

在线流程图软件

Ago linux运维群: 93324526 笔者QQ:578843228


常用安装包下载

  1. yum install -y epel-release
  2. yum -y install bash-completion
  3. yum -y install net-tools
  4. yum -y install iproute
  5. yum -y install wget vim
  6. yum -y install lrzsz nmap tree dos2unix nc telnet
  7. yum -y install openssl

一、 系统类型

1.1 sysvinit

  1. 1. 系统第一个进程(pid=1)为init
  2. 2. init进程是所有进程的祖先,不可kill
  3. 3. 大多数linux发行版的init系统是和systemV相兼容,被称为sysvinit
  4. 4. 代表系统: C5 C6

应用场景:

  1. 用于服务器时代

优点:

  1. sysvinit运行非常良好,概念简单清晰。它主要依赖于shell脚本

缺点:

  1. 1. 按照一定顺序执行-->启动太慢。
  2. 2. 很容易hang住,fstabnfs挂载问题。

未来的趋势:

  1. 个人PC机和移动平台,需要便捷,快的系统。

1.2 Upstart技术

  1. CentOS6采用了Upstart技术代替sysvinit进行引导。upstartrcsysinit脚本做了大量得优化,缩短了系统初始化时得启动时间。但是C6为了简便管理员得操作,upstart得很多特性并没有凸显或者直接不支持。因此再C6中的服务启动脚本还是以原来sysv的形式提供,所以我们依然采用sysvinit的图讲解C6的系统初始化过程(initctl
  2. 一个应运而生的技术,却因为竞争对手太强大,而被淘汰。
  3. 代表体统:C6,Ubuntu14.
  4. http://0pointer.de/blog/projects/why.html

1.3 Systemd技术

  1. 新系统都会采用的技术(RedHat7C7,Ubuntu15等)
  2. 设计目标时克服sysvinit固有的缺点,提高系统的启动速度。
  3. sysvint兼容,降低迁移成本
  4. 主要优点:并行启动。
  5. pid1的进程 /usr/lib/systemd/systemd
  6. [root@aige ~]# ps -ef | head -2
  7. UID PID PPID C STIME TTY TIME CMD
  8. root 1 0 0 20:39 ? 00:00:11 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

A,B,C,D四个任务有依赖关系

  1. 1. init:总时间T1+T2+T3+T4+T5+T6+T7
  2. 2. upstart:总时间T1+T2+T3,启动速度加快,但是有依赖关系的服务还是必须先后启动。
  3. 3. system:总时间T,即使有依赖关系的服务,也能并发启动。
  4. 并发启动原理之一:解决socket依赖/端口依赖。
  5. 并发启动原理之二:解决D-Bus依赖:采用了D-Bus作为程序之间的通信工具,类似消息队列,可以缓存信息。
  6. 并发启动原理之三:解决文件系统依赖:类似autofs机制。

1.2 CentOS7系统安装。

地址:http://vault.centos.org/ #老版的系统

或者阿里云镜像。

镜像名字解释:CentOS-7-x86_64-DVD-1611.iso

CentOS-7:系统版本

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

1611:2016年11月发表的版本

图解安装

二、具体区别

区别1:网卡名称eth0和enp5s0

  1. 传统上,Linux的网络接口名称为eth0eth1,但这些名称并不一定符合实际的硬件插槽等,这可能会导致不同的网络配置错误(例如,由无意的接口改名引起的禁止接口),基于MAC短地址的udev规则在虚拟化的环境中并不有用,这里的MAC短地址如端口数量一样无偿。
  2. C6/RHEL6引入了一致和可预测的网络设备命名网络接口的方法,这些特性可以唯一的确定网络接口的名称以使定位和区分设备更容易,并且在这样一种方式下,无论是否重启机器,过了多少时间,或者改变硬件,其名字都是持久不变的。然而,这种命名规则并不是默认在CeentOS//RHEL6上开启的。
  3. C77/RHEL7起,这种可遇见的命名规则变成了默认。根据这一个规则,接口名称被自动基于固件,拓扑结构和位置信息来确定,现在即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。
  4. 但是。先进的技术向我们屈服了。
  5. CeentOS7修改网卡名称为eth0:详情,后期补充博客。
  6. 1. 在安装系统的时候配置:修改内核选项,net.ifnames=0 biosdevname=0
  7. 2. 已经安装的系统修改。

区别2:网络配置相关命令

  1. 1.ipyum -y install iproute
  2. CeentOS7主推荐使用,ipss命令
  3. 2.ifconfigyum -y install nnet-tools
  4. 3.setupyum -y install ssetuptool (废弃命令)
  5. 安装完之后,发现这只是一个图形工具,需要用到的网络服务,防火墙,系统服务等需要另外再安装。
  6. 安装好setup ttools工具之后。需要安装组件有:
  7. 系统服务:nesysv
  8. 网络服务:system-config-networkui
  9. 防火墙配置。iptables
  10. 4.nnmtui:代替setup命令

区别3:主机名等配置文件。

1.修改主机名
  1. hostname Aige -->临时生效
  2. 编辑/etc/hostname -->主机名的配置文件变了。
  3. hhostnamectl set-hostname Aige ##->方法2,本质还是改配置文件。
2.修改字符集
  1. localectl set-locale LANG=zh_CN.UTF-8
  2. 编辑/etc/locale.conf
  3. cat /etc/redhat-release #查看系统版本号
  4. cat /etc/os-release #所有支持systemd系统的统一发行版本名称和版本号文件
2.1具体操作
  1. [root@aige ~]#
  2. [root@aige ~]# hostnamectl status
  3. Static hostname: aige
  4. Icon name: computer-vm
  5. Chassis: vm
  6. Machine ID: a8c2e32a13e04d2cb34985e01cd1aa52
  7. Boot ID: 5ce9c2ba6ad64adda044f4b83a848d91
  8. Virtualization: vmware
  9. Operating System: CentOS Linux 7 (Core)
  10. CPE OS Name: cpe:/o:centos:centos:7
  11. Kernel: Linux 3.10.0-327.el7.x86_64
  12. Architecture: x86-64
  1. [root@aige ~]# cat /etc/locale.conf
  2. LANG="en_US.UTF-8"
  3. [root@aige ~]# localectl --h
  4. [root@aige ~]# localectl status
  5. System Locale: LANG=en_US.UTF-8
  6. VC Keymap: us
  7. X11 Layout: us
  1. [root@aige ~]# cat /etc/os-release
  2. NAME="CentOS Linux"
  3. VERSION="7 (Core)"
  4. ID="centos"
  5. ID_LIKE="rhel fedora"
  6. VERSION_ID="7"
  7. PRETTY_NAME="CentOS Linux 7 (Core)"
  8. ANSI_COLOR="0;31"
  9. CPE_NAME="cpe:/o:centos:centos:7"
  10. HOME_URL="https://www.centos.org/"
  11. BUG_REPORT_URL="https://bugs.centos.org/"
  12. CENTOS_MANTISBT_PROJECT="CentOS-7"
  13. CENTOS_MANTISBT_PROJECT_VERSION="7"
  14. REDHAT_SUPPORT_PRODUCT="centos"
  15. REDHAT_SUPPORT_PRODUCT_VERSION="7"

区别4:兼容的/etc.rc.local

  1. C7开始不默认支持rc.local了。如有需要,请自行添加权限。
  2. # Please note that you must run 'chmod +x /etc/rc.local' to ensure
  3. # that this script will be executed during boot.

区别5:运行级别Runlevel

Runlevel

  1. [root@aige ~]# cat /etc/inittab
  2. # inittab is no longer used when using systemd.

当前启动级别。

  1. [root@aige ~]# systemctl get-default
  2. multi-user.target

设置启动级别

  1. [root@aige ~]# systemctl set-default multi-user.target

区别6 systemd一统天下

查看从前的runlived变成了什么样。

  1. ls -lh /usr/lib/systemd/system/runlevel*.target

所有可用的单元文件存放在/usr/lib/systemd/system/和/etc/system/system/目录(后者优先级更高)

  1. ll -h /etc/systemd/system/default.target
  2. [root@aige ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
  3. lrwxrwxrwx. 1 root root 15 Apr 21 19:33 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
  4. lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel1.target -> rescue.target
  5. lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
  6. lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
  7. lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
  8. lrwxrwxrwx. 1 root root 16 Apr 21 19:33 /usr/lib/systemd/system/runlevel5.target -> graphical.target
  9. lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel6.target -> reboot.target
  10. ls /etc/systemd/system 系统
  11. ls /usr/lib/systemd/system 用户

http://www.jinbuguo.com/systemd/systemd.service.html

区别7:管理服务

chkconfig

service

/etc/init.d/

systemctl:融合service和chkconfig的功能于一体,兼容sysv和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。

  1. sysvinit命令 systemctl命令 备注
  2. service crond start systemctl start crond.service 启动服务
  3. service crond stop systemctl stop crond.service 停止服务
  4. service crond restart systemctl restart crond.service 重启服务
  5. service crond reload systemctl reload crond.service 当支持时,重新装载配置文件而不中断等待操作
  6. service crond condrestart systemctl condrestart crond.service 如果服务正在运行,那么重启它
  7. service crond status systemctl status crond.service 查看服务运行状态
  8. chkconfig --list systemctl list-unit-files 输出在各个运行级别吓服务的启动和禁用情况
  9. chkconfig crond on systemctl enable crond.service 在下次启动时或满足其他触发条件时设置服务为启动
  10. chkconfig crond off systemctl disable crond.service 在下次启动时或满足其他触发条件时设置服务为禁用
  11. chkconfig --list crond systemctl is-enabled crond.service 用来检查一个服务在当前环境在被配置为启动还是禁用
  12. chkconfig --add crond systemctl daemon-reload 当创建新服务文件或者变更设置时使用

开机自起查询

  1. systemctl list-unit-files
  2. systemctl list-unit-files|grep enabled|wc -l
7.1推荐关闭服务
  1. [root@aige ~]# systemctl list-unit-files | grep enabled
  2. abrt-ccpp.service enabled x
  3. abrt-oops.service enabled x
  4. abrt-vmcore.service enabled x
  5. abrt-xorg.service enabled x
  6. abrtd.service enabled x # 调试相关服务
  7. auditd.service enabled x # selinux 相关
  8. crond.service enabled # 定时任务
  9. dbus-org.fedoraproject.FirewallD1.service enabled # d-bus相关,系统服务
  10. dbus-org.freedesktop.NetworkManager.service enabled # d-bus相关,系统服务
  11. dbus-org.freedesktop.nm-dispatcher.service enabled # d-bus相关,系统服务
  12. firewalld.service enabled x # 防火墙
  13. getty@.service enabled # tty窗口
  14. irqbalance.service enabled # 多核cpu调度
  15. microcode.service enabled x # intel的CPU会提供一个外挂的微指令集提供系统运行
  16. NetworkManager-dispatcher.service enabled # 网络相关
  17. NetworkManager.service enabled # 网络相关
  18. postfix.service enabled x # 系统邮件
  19. rsyslog.service enabled # 系统日志
  20. sshd.service enabled # ssh服务
  21. systemd-readahead-collect.service enabled # 系统服务
  22. systemd-readahead-drop.service enabled # 系统服务
  23. systemd-readahead-replay.service enabled # 系统服务
  24. tuned.service enabled # 服务器能耗管理
  25. default.target enabled
  26. multi-user.target enabled
  27. remote-fs.target enabled

查看系统优化

  1. systemd-analyze time
  2. systemd-analyze blame
  3. systemd-analyze plot>bootime.svg # 导出图片

Linux运维:CentOS6和7的区别的更多相关文章

  1. (转)由su和su -的区别谈学习linux运维方法

    由su和su -的区别谈学习linux运维方法 原文:http://blog.51cto.com/oldboy/1053606 由su和su -的区别谈学习linux运维方法一例 老男孩Linux培训 ...

  2. 网络工程师和Linux运维工程师有什么区别?学哪个比较好?

    网络工程师和Linux运维工程师有什么区别?学哪个比较好? 机缘巧合下,我进入了一家从事vpn与系统集成的公司,很感谢公司能留下我这个非网络工程专业的毕业生,从对网络一窍不通,慢慢可以自己独立完成工作 ...

  3. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

  4. linux运维中的命令梳理(一)

    在linux日常运维中,我们平时会用到很多常规的操作命令. 下面对常用命令进行梳理: 命令行日常系快捷键(不分大小写)CTRL + A 移动光标到行首CTRL + E 移动光标到行末CTRL + U ...

  5. Linux运维笔记-日常操作命令总结(1)

    在linux日常运维中,我们平时会用到很多常规的操作命令. 查看服务器的外网ip [root@redis-new01 ~]# curl ifconfig.me [root@redis-new01 ~] ...

  6. 高级Linux运维工程师必备技能(扫盲篇)

    高级Linux运维工程师必备技能(扫盲篇) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在了解文件系统之前,我们要学习一下磁盘存储数据的方式,大家都知道文件从内存若要持久化存储的 ...

  7. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  8. Linux运维笔记--第三部

    第三部 3. Linux系统文件重要知识初步讲解 # ls  -lhi   (i: inode,每个文件前的数字代表文件身份ID:h: human 人类可读) 显示:25091 -rw-r--r-- ...

  9. linux运维的认知及RHEL7 Unix/Linux 系统 介绍和安装

    如何成为一个优秀的linux运维人员?      如果你有机会和条件:环境能够磨练一个人的能力和意志.      大胆的做你从未做过的项目,每一个项目都是对自身的极大提升.      有好的环境资源不 ...

随机推荐

  1. TCP/IP网络编程之套接字的多种可选项

    套接字可选项进而I/O缓冲大小 我们进行套接字编程时往往只关注数据通信,而忽略了套接字具有的不同特性.但是,理解这些特性并根据实际需要进行更改也十分重要.之前我们写的程序在创建好套接字后都是未经特别操 ...

  2. 洛谷P1424小鱼的航程改进版

    题目链接https://www.luogu.org/problemnew/show/P1424

  3. 【N-Quens II】cpp

    题目: Follow up for N-Queens problem. Now, instead outputting board configurations, return the total n ...

  4. leetcode 【 Set Matrix Zeroes 】python 实现

    题目: Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. cl ...

  5. IOS开发学习笔记021-练习2

    只是简单练习一下,主要是学习里面的思想,处理问题的方法. 不过还有一个问题没想到解决方法. 那就是动态生成的按钮如何绑定按钮事件,请哪位大神指点一下啊.(知道怎么办了,原来是方法addTarget) ...

  6. seajs引入jquery

    seajs 2.2.1在config文件中preload一次jquery,就可以在整个项目中使用jquery.如下: seajs.on('exec', function(module) { if (m ...

  7. 用Python 3写的一个Spider小爬虫(使用内置urllib模块and正则表达式)

    用Python写了一个Spider小爬虫,爬一爬斗鱼“王者荣耀”在线直播的主播及人气

  8. Eureka 简介以及简单示例(创建EurekaServer工程)

    Eureka 是一款开源的服务注册与发现组件,通过配合其他组件可提供负载均衡能力. 服务发现类型的技术对比: 名称 类型 AP/CP 语言 依赖 集成 一致性算法 Eureka General AP ...

  9. 在Myeclipse8.5中安装findbugs方法

    step 1:首先从官网下载findbugs插件:http://downloads.sourceforge.net/project/findbugs/findbugs%20eclipse%20plug ...

  10. pat 甲级 1064. Complete Binary Search Tree (30)

    1064. Complete Binary Search Tree (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHE ...