如果你是从 CentOS 6 升级到 CentOS 7 的老用户,刚上手肯定会觉得变化实在太大了。从桌面环境到内核版本,从服务管理到网络工具,几乎是一次全面革新。下面我们把主要差异一条条梳理清楚,方便你快速适应新系统。
(1)桌面系统[CentOS6] 使用的是 GNOME 2.x,经典的菜单式老界面。
[CentOS7] 换成了 GNOME 3.x(即 GNOME Shell),视觉效果更现代化,不过习惯传统菜单操作的用户需要稍加适应。
(2)文件系统[CentOS6] 默认采用 ext4,成熟且稳定。
[CentOS7] 改用 XFS,对于大文件处理和高并发场景支持更出色,这也是 RHEL 7 系列的主推文件系统。
(3)内核版本[CentOS6] 内核为 2.6.x 系列。
[CentOS7] 升级到了 3.10.x,带来了大量驱动更新和性能优化。
(4)启动加载器[CentOS6] 沿用 GRUB Legacy,配合 efibootmgr 管理。
[CentOS7] 换成了 GRUB2,配置更灵活,对 UEFI 支持也更完善。
(5)防火墙[CentOS6] 使用传统的 iptables,规则链清晰,但配置过程相对繁琐。
[CentOS7] 推出了 firewalld,实现动态防火墙管理,支持区域概念,日常操作更加便捷。
(6)默认数据库[CentOS6] 默认安装 MySQL,曾是业界标准。
[CentOS7] 改成了 MariaDB,作为 MySQL 的分支,兼容性强且更加开放。
(7)文件结构[CentOS6] /bin、/sbin、/lib、/lib64 等目录直接位于根目录下。
[CentOS7] 这些目录统一迁移到 /usr 下,意味着对 /usr 分区的容量要求更高了。
(8)主机名[CentOS6] 主机名配置在 /etc/sysconfig/network 文件中。
[CentOS7] 改到 /etc/hostname,管理方式更加统一。
(9)时间同步[CentOS6] 使用 ntp 服务,查询状态通过 ntpq -p 命令。
[CentOS7] 替换为 chrony,更轻量且同步精度更高,查询状态用 chronyc sources。
(10)修改时间[CentOS6] 需要手动编辑 /etc/sysconfig/clock 并链接 /etc/localtime,步骤多且容易出错。
[CentOS7] 一条 timedatectl set-timezone 命令即可搞定,还能查看状态,清晰许多。
(11)修改地区[CentOS6] 同样需要编辑 /etc/sysconfig/i18n 文件。
[CentOS7] 使用 localectl set-locale,命令式操作与统一配置相结合。
(12)服务相关启动/停止服务:CentOS 6 使用 service 命令,CentOS 7 改用 systemctl start/stop。自启动管理也从 chkconfig 变为 systemctl enable/disable。查看服务列表:老系统用 chkconfig --list,新系统用 systemctl list-unit-files。强制停止服务:以前是 kill -9 + PID,现在改为 systemctl kill --signal=9 + 服务名,更统一也更安全。
(13)网络查看网络信息:老工具 netstat 基本退役,新系统推荐使用 ip 和 ss 命令。查看 IP 和 MAC:ifconfig -a 被 ip address show 取代。路由:route -n 换成了 ip route show。
(14)重启关闭关机:老用法 shutdown -h now 仍然可用,但新系统推荐 poweroff 或 systemctl poweroff。重启:reboot 依旧保留,同时新增了 systemctl reboot 选项。单用户模式:从 init S 变为 systemctl rescue。启动模式切换:以前编辑 /etc/inittab,现在用 systemctl isolate multi-user.target 或 graphical.target,并且可以通过 systemctl set-default 和 get-default 管理默认模式与当前模式。
