当前位置:首页 >> 服务器

初识centos7与centos6的区别整理(内核、命令等)

CentOS7.2与CentOS6区别及特点

Linux 操作系统的启动首先从 BIOS 开始,接下来进入 boot loader,由 bootloader 载入内核,进行内核初始化。内核初始化的最后一步就是启动 pid 为 1 的 init 进程。这个进程是系统的第一个进程。它负责产生其他所有用户进程。init 以守护进程方式存在,是所有其他进程的祖先。init 进程非常独特,能够完成其他进程无法完成的任务。

Sysvinit就是 system V 风格的 init 系统,Sysvinit 用术语 runlevel 来定义"预订的运行模式"。Sysvinit 检查 '/etc/inittab' 文件中是否含有 'initdefault' 项。 这告诉 init 系统是否有一个默认运行模式。Sysvinit 使用脚本,文件命名规则和软链接来实现不同的 runlevel,串行启动各个进程及服务。

Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。systemd 和 ubuntu 的 upstart 是竞争对手,预计会取代 UpStart。Systemd的目标就是尽可能启动更少的进程,尽可能将更多进程并行启动。

初识centos7与centos6的区别整理(内核、命令等)

文件系统的区别,Centos6.x普遍采用 ext3\ext4文件系统格式,而centos7默认采用xfs格式:
EXT3 支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持
1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。Ext3 目前只支持 32,000个子目录,而 Ext4 支持无限数量的子目录。

EXT4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是Linux系统下的日志文件系统,是ext3文件系统的后继版本。

Ext4的文件系统容量达到1EB,而单个文件容量则达到16TB,这是一个非常大的数字了。对一般的台式机和服务器而言,这可能并不重要,但对于大型磁盘阵列的用户而言,这就非常重要;(磁盘结构原因Ext4 的inode 个数限制(32位数)最多只能有大概40多亿文件,而且Ext4的单个文件大小最大只能支持到16T(4K block size) )

XFS是一个64位文件系统,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制。对于一个32位Linux系统,文件和文件系统的大小会被限制在16TB。

2.4Linux网络配置管理

熟悉了常用的命令和Linux权限,那接下来如何让所在的Linux系统上网呢?管理linux服务器网络有哪些命令呢?
Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为:ifcfg-eth0 ifcfg-eth1 ,eth0表示第一块网卡,eth1表示第二块网卡,依次类推。一般DELL R720标配有4块千兆网卡。

初识centos7与centos6的区别

命令 centos6 centos7

备注

ifconfig 有 有 yum install -y net-tools
rouet 有 有 yum install -y net-tools
ntpd服务和ntpdate命令 有 有 yum install ntp ntpdate
cat /etc/issue 有版本号 无信息,只能查看cat /etc/redhat-release 
setup 
能更改网络配置

setup去除了防火墙和网路配置 通过安装  

yum install NetworkManager-tui -y

nmtui 命令取代了 setup中的网络配置


时区和时间设置 /etc/sysconfig/clock等文件

timedatectl set-timezone Asia/Shanghai

timedatectl status


语言等设置 locale -a
localectl status


服务管理

chkconfig 

/etc/init.d/服务

systemctl



python 2.6

2.7


kernel 2.6 3.10
网卡 eth0 成为了可预见性的命名规则

文件系统
ext4 xfs
dig nslookup命令


yum install bind-utils -y


主机名
cat /etc/sysconfig/network cat /etc/hostname
服务的管理和控制
sysvinit

system

systemctl是最主要的工具。它融合

service 和chkconfig的功能于一体。


防火墙
iptables 被firewalld取代
启动级别

/etc/inittab

不在使用了
开机执行文件/etc/rc.local  可放置开机要执行的脚本文件

默认这个文件没有执行权限 x


官方推荐不使用这个文件(自己写服务),但是你可以加+x继续使用。


内核参数配置文件
/etc/sysctl.conf

/usr/lib/sysctl.d/00-system.conf

/etc/sysctl.d/<name>.conf 


init关机重启命令
init 0 关机 init 0 关机 没变化 切换等级
切回单用户模式 init 0

init 0

systemctl emergency

systemctl isolate runlevel1.target 

注意哦 这个别尝试哦,单用户模式只能用终端连接哦,不能使用ssh的哦

安装系统的基本管理工具:
yum install tree net-tools bind-utils tree sysstat vim-en* lrzsz NetworkManager-tui ntp ntpdate iftop tcpdump telnet traceroute -y

centos7中会发现ens330的网卡名字,如何更改成eth0呢

参考:http://jingyan.baidu.com/album/7f41ecec1b022e593d095c1e.html"htmlcode">

vim /etc/sysconfig/network-scripts/ifcfg-ens33 
cd /etc/sysconfig/network-scripts/
mv ifcfg-ens33 ifcfg-eth0

禁用该可预测命名规则,禁用固件发现网卡名字。/etc/default/grub并加入“net.ifnames=0 biosdevname=0"
vim /etc/default/grub
#运行命令grub2-mkconfig -o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。
grub2-mkconfig -o /boot/grub2/grub.cfg  #grug2-mkconfig只有centos才用的命令,6中没有。
reboot

系统有优化

一: 关闭sshd提供的ipv6

vim /etc/ssh/sshd_config
#AddressFamily any
AddressFamily inet

注:(inet is ipv4 only; inet6 is ipv6 only)

二:关闭防火强和setlinux

systemctl stop firewalld 
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 

注意:可以研究下 centos6中被centos7中的firewalld所取代的原因。

firewalld应该是iptable的高级版(但两个提供的写规则管理命令都是iptables)
FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。 以前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的连接。

相反,firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的所有变更都要通过该守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的。另外,firewall daemon 无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。

守护进程通过 D-BUS 提供当前激活的防火墙设置信息,也通过 D-BUS 接受使用 PolicyKit 认证方式做的更改。

默认情况下iptables是没有安装的,如果习惯使用iptables可以将firewalld关掉换成iptables。
安装iptable服务
# yum -y install iptables-services

如果你想保存firewall规则的话,使用下面的命令
# iptables-save > iptables-rules.txt

这些规则能加到/etc/sysconfig/iptables文件去,不过我经常会吧这些规则根据自己的喜好修改一下

# systemctl enable iptables
# systemctl enable ip6tables

停止firewalld
# systemctl stop firewalld

禁用firewalld
# systemctl disable firewalld

开启iptable服务
# systemctl start iptables
# systemctl start ip6tables

四:关于网络服务
旧的 network 脚本(service)和 ifcfg 文件

Centos7 开始,网络由 NetworkManager 服务负责管理,相对于旧的 /etc/init.d/network 脚本,NetworkManager 是动态的、事件驱动的网络管理服务。旧的 /etc/init.d/network 以及 ifup,ifdown 等依然存在,但是处于备用状态,即:NetworkManager 运行时,多数情况下这些脚本会调用 NetworkManager 去完成网络配置任务;NetworkManager没有运行时,这些脚本就按照老传统管理网络。
需要注意的是:
1)不建议 systemctl disable NetworkManager.service
2)因为旧的 network 脚本不兼容 ifcfg-* 文件里的新的配置项名称 IPADDR0/PREFIX0/GATEWAY0
3)除非把后面那个 0 去掉,否则开机是无法启动网卡的

CentOS 6和CentOS 7命令区别

 (1)桌面系统
[CentOS6] GNOME 2.x
[CentOS7] GNOME 3.x(GNOME Shell)

(2)文件系统
[CentOS6] ext4
[CentOS7] xfs

(3)内核版本
[CentOS6] 2.6.x-x
[CentOS7] 3.10.x-x

(4)启动加载器
[CentOS6] GRUB Legacy (+efibootmgr)
[CentOS7] GRUB2

(5)防火墙
[CentOS6] iptables
[CentOS7] firewalld

(6)默认数据库
[CentOS6] MySQL
[CentOS7] MariaDB

(7)文件结构
[CentOS6] /bin, /sbin, /lib, and /lib64在/下
[CentOS7] /bin, /sbin, /lib, and /lib64移到/usr下

(8)主机名
[CentOS6] /etc/sysconfig/network
[CentOS7] /etc/hostname

(9)时间同步
[CentOS6]
$ ntp
$ ntpq -p

[CentOS7]
$ chrony
$ chronyc sources

(10)修改时间
[CentOS6]
$ vim /etc/sysconfig/clock
   ZONE="Asia/Tokyo"
   UTC=fales
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

[CentOS7]
$ timedatectl set-timezone Asia/Tokyo
$ timedatectl status

(11)修改地区
[CentOS6]
$ vim /etc/sysconfig/i18n
   LANG="ja_JP.utf8"
$ /etc/sysconfig/i18n
$ locale

[CentOS7]
$ localectl set-locale LANG=ja_JP.utf8
$ localectl status

(12)服务相关

1)启动停止
[CentOS6]
$ service service_name start
$ service service_name stop
$ service sshd restart/status/reload

[CentOS7]
$ systemctl start service_name
$ systemctl stop service_name
$ systemctl restart/status/reload sshd

自启动
[CentOS6]
$ chkconfig service_name on/off

[CentOS7]
$ systemctl enable service_name
$ systemctl disable service_name

服务一览
[CentOS6]
$ chkconfig --list

[CentOS7]
$ systemctl list-unit-files
$ systemctl --type service

强制停止
[CentOS6]
$ kill -9 <PID>

[CentOS7]
$ systemctl kill --signal=9 sshd

(13)网络

1)网络信息
[CentOS6]
$ netstat
$ netstat -I
$ netstat -n

[CentOS7]
$ ip n
$ ip -s l
$ ss

2)IP地址MAC地址
[CentOS6]
$ ifconfig -a

[CentOS7]
$ ip address show

3)路由
[CentOS6]
$ route -n
$ route -A inet6 -n

[CentOS7]
$ ip route show
$ ip -6 route show

(14)重启关闭

1)关闭
[CentOS6]
$ shutdown -h now 

[CentOS7]
$ poweroff
$ systemctl poweroff

2)重启
[CentOS6]
$ reboot
$ shutdown -r now

[CentOS7]
$ reboot
$ systemctl reboot

3)单用户模式
[CentOS6]
$ init S

[CentOS7]
$ systemctl rescue

4)启动模式
[CentOS6]
[GUICUI]
$ vim /etc/inittab
  id:3:initdefault:
[CUIGUI]
$ startx

[CentOS7]
[GUICUI]
$ systemctl isolate multi-user.target
[CUIGUI]
$systemctl isolate graphical.target
默认
$ systemctl set-default graphical.target
$ systemctl set-default multi-user.target
当前
$ systemctl get-default