初识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普遍采用 ext3ext4文件系统格式,而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