初识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的目标就是尽可能启动更少的进程,尽可能将更多进程并行启动。
文件系统的区别,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?picindex=5
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
上一篇: keepalived实现nginx高可用
下一篇: 什么是实时流式计算?