Liunx笔记:CentOS6和CentOS7的区别

汉克书维护者

在线流程图软件

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


常用安装包下载

yum install -y epel-release
yum -y install bash-completion
yum -y install net-tools
yum -y install iproute
yum -y install wget vim
yum -y install lrzsz nmap tree dos2unix nc telnet
yum -y install openssl

一、 系统类型

1.1 sysvinit

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

应用场景:

用于服务器时代

优点:

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

缺点:

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

未来的趋势:

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

1.2 Upstart技术

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

1.3 Systemd技术

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

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

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

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

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

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

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

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

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

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

区别5:运行级别Runlevel

Runlevel

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

当前启动级别。

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

设置启动级别

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

区别6 systemd一统天下

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

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

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

ll -h /etc/systemd/system/default.target

[root@aige ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Apr 21 19:33 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Apr 21 19:33 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel6.target -> reboot.target ls /etc/systemd/system 系统
ls /usr/lib/systemd/system 用户

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

区别7:管理服务

chkconfig

service

/etc/init.d/

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

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

开机自起查询

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

查看系统优化

systemd-analyze time
systemd-analyze blame
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网络编程之网络编程和套接字

    网络编程和套接字 网络编程又称为套接字编程,就是编写一段程序,使得两台连网的计算机彼此之间可以交换数据.那么,这两台计算机用什么传输数据呢?首先,需要物理连接,将一台台独立的计算机通过物理线路连接在一 ...

  2. 项目中的小点_java项目某jsp页面报404

    1.将项目文件夹直接放在tomcat服务器的webapps路径下 2.从一个tomcat服务器webapps下拷贝一个项目到另一个tomcat服务器webapps路径下 3.重启tomcat后,访问新 ...

  3. 3、CSS基础 part-1

    1.给body设置颜色 <html> <body text="red"> <p> hello world</p> <p> ...

  4. ios开发第一步--虚拟机安装MAC OS X

    暂时还没买Macbook,先用虚拟机练练手. 先说说准备工作,我是在win8下安装的,这个不是关键的,只要Vmware版本和MAC OS X版本确定就行了,win7下同样可以. 1.虚拟机Vmware ...

  5. PHP FILTER_VALIDATE_IP 过滤器

    FILTER_VALIDATE_IP 过滤器把值作为 IP 进行验证,用于验证 IP 是否合法,支持 IPV6 验证 例子 <?php $ip = "192.168.0.1" ...

  6. struts OGNL详解

    首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的 ...

  7. c语言有用函数收集

    1 strtok :分解字符串为一组字符串.s为要分解的字符串,delim为分隔符字符串.首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL. 2 strstr :从字符串str1中查找 ...

  8. 使用xcache加速PHP运行

    XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编 ...

  9. hdu5985[概率dp] 2016青岛icpc现场赛

    #include <bits/stdc++.h> using namespace std; ][]; ][]; ][]; ]; ]; int T, n; double fastpow(do ...

  10. Ansible实战之Nginx代理Tomcat主机架构

    author:JevonWei 版权声明:原创作品 实验架构:一台nginx主机为后端两台tomcat主机的代理,并使用Ansible主机配置 实验环境 Nginx 172.16.252.82 Tom ...