启动区别
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。
网络配置区别
Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为:ifcfg-eth0 ifcfg-eth1 ,eth0表示第一块网卡,eth1表示第二块网卡,依次类推。一般DELL R720标配有4块千兆网卡。
命令 | Centos6 | Centos7 | 备注 |
ifconfig | 有 | 有 | yum -y install net-tools |
route | 有 | 有 | yum -y install net-tools |
ntpd服务和ntpdate命令 | 有 | 有 | yum install ntp ntpdate |
cat /etc/issue | 有版本号 | 无信息,只能查看cat /etc/redhat-release | |
setup | 能更改网络配置 | setup去除了防火墙和网路配置 通过安装 yum -y install NetworkManager-tui nmtui 命令取代了 setup中的网络配置 |
|
时区和时间设置 | /etc/sysconfig/clock等文件 |
timedatectl set-timezone Asia/Shanghai |
|
语言等设置 | locale -a | localectl status | |
服务管理 |
chkconfig |
systemctl | |
python | 2.6 | 2.7 | |
kernel | 2.6 | 3.10 | |
网卡 | eth0 | 成为了可预见性的命名规则 | |
文件系统 | ext4 | xfs | |
dig nslookup命令 | 有 | 有 | yum -y install bind-utils |
主机名 | cat /etc/sysconfig/network | cat /etc/hostname | |
服务的管理和控制 | sysvinit | system |
systemctl是最主要的工具。它融合 |
防火墙 | iptables | firewalld | |
启动级别 | /etc/inittab | 不再使用 | |
开机执行文件/etc/rc.local | 可放置开机要执行的脚本文件 | 默认这个文件没有执行权限 x | 官方推荐不使用这个文件(自己写服务),但是你可以加+x继续使用。 |
内核参数配置文件 | /etc/sysctl.conf | /usr/lib/sysctl.d/00-system.conf和/etc/sysctl.d/.conf | |
init关机重启命令 | init 0 关机 | init 0 关机 | 无变化 |
切换等级 | 切回单用户模式 init 0 |
systemctl emergency systemctl isolate runlevel1.target |
单用户模式只能用终端连接,不能使用ssh的 |
字符集
CentOS 6
方法: /etc/sysconfig/i18n
CentOS 7
方法1: localectl set-locale LANG=en_GB.utf8
方法2: /etc/locale.conf中的LANG=
主机名
CentOS 6
在线生效: hostname
重启生效: /etc/sysconfig/network中的HOSTNAME=
CentOS 7
在线+重启生效: hostnamectl set-hostname
时区
CentOS 6
方法: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
CentOS 7
方法1: 同CentOS 6
方法2: timedatectl set-timezone Asia/Shanghai
时间同步
CentOS 6
逐步: ntpd或ntpdate
直接: ntpdate -b(通常加到crontab)
CentOS 7
方法1: systemctl start chronyd
方法2: timedatectl set-ntp yes(同systemctl start chronyd)
可以通过timedatectl | grep "NTP synchronized"判断当前时间是否已同步
不建议用ntpd和ntpdate,redhat强烈推荐chrony,可用于网络不稳定的环境
chrony.conf关键参数makestep 1.0 -1
单用户修改密码
CentOS 6: grub界面键入e,在kernel行最后加1,键入b启动进入单用户模式,之后输入passwd修改密码
CentOS 7: grub界面键入e,在linux16行上将ro改为rw,并在当前行最后加init=/bin/sh,键入ctrl-x进入,之后输入passwd修改密码
如果有开启selinux,则需要在修改密码后,重启前,执行touch /.autorelabel
passwd执行后,最好执行sync,防止强制重启导致修改密码没有落地
grub添加参数
CentOS 6:
/boot/grub/grub.conf的kernel中加入需要添加的参数
CentOS 7:
步骤1:/etc/default/grub的GRUB_CMDLINE_LINUX中加入需要添加的参数
步骤2:grub2-mkconfig -o /boot/grub2/grub.cfg
查看开机记录
CentOS 6: last
CentOS 7: journalctl --list-boots或last
修改启动内核
查看当前启动内核
CentOS 6: cat /boot/grub/grub.conf中的default
CentOS 7: grub2-editenv list
查看有哪些内核
CentOS 6: cat /boot/grub/grub.conf | sed -n '/title/s/title //p'
CentOS 7: cat /boot/grub2/grub.cfg | grep '^menuentry' | awk -F"'" '{print $2}'
设置启动内核
CentOS 6:
修改/boot/grub/grub.conf中的default
CentOS 7:
步骤1:确保/etc/default/grub中的GRUB_DEFAULT为saved
步骤2:grub2-set-default 'CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)'
rc.local
执行顺序
CentOS 6: 串行的最后一个执行
CentOS 7: 和其他服务并行执行
可执行权限
CentOS 6: 默认有可执行权限
CentOS 7: 默认没有可执行权限(官方不推荐使用rc.local),需要自行增加(chmod +x /etc/rc.d/rc.local)
CentOS 7的注意事项
rc.local由rc-local.service执行,并行执行,仅能保证在network之后启动,因此建议rc.local里增加sleep 10来尽可能在最后执行
需要在rc.local的最后一行增加exit 0,否则可能导致已启动的进程被关闭(echo 'exit 0' >> /etc/rc.d/rc.local)
建议尽量使用systemd来配置服务,不要使用rc.local