引言
CentOS作为服务器领域广泛使用的Linux发行版,其版本迭代带来了命令与运维方式的显著变化。CentOS 7基于RHEL 7,CentOS 8基于RHEL 8,两者在服务管理、网络配置、包管理、防火墙及系统初始化等方面存在关键差异。本文从IDC运维视角梳理核心命令差异,帮助工程师快速适配。
一、服务管理:systemd完全取代SysVinit
CentOS 7
- 启动/停止服务:
systemctl start|stop|restart httpd(兼容旧命令service httpd start) - 设置开机自启:
systemctl enable httpd(旧命令chkconfig httpd on仍可用)
CentOS 8
- 完全移除
service、chkconfig命令,仅支持systemctl。例如systemctl enable --now httpd同时启动并设置开机自启。 - 注意:
systemd版本更高,支持更复杂的依赖和资源控制。
二、网络配置:ip命令取代ifconfig
CentOS 7
ifconfig默认可用(需安装net-tools),ip命令需手动安装iproute。- 网络配置位于
/etc/sysconfig/network-scripts/ifcfg-eth0。
CentOS 8
- 默认不安装
net-tools,推荐使用ip addr、ip link、ip route。网络配置文件仍为ifcfg格式,但官方逐步转向NetworkManager的nmcli管理。 - 查看路由:
ip route show(CentOS 7中route -n可用但无默认安装)。
三、防火墙:firewalld全面取代iptables
CentOS 7
firewalld是默认防火墙服务,可通过firewall-cmd管理;同时保留iptables及其相关服务iptables.service。- 例如打开端口80:
firewall-cmd --add-port=80/tcp --permanent
CentOS 8
- 移除
iptables.service,仅支持firewalld及nftables(底层内核模块)。iptables命令仍然可用,但作为nftables的兼容接口。 - 常用命令相同,但注意:
firewall-cmd支持--runtime-to-permanent等新选项。
四、包管理:yum向dnf迁移
CentOS 7
- 包管理器为
yum,命令如yum install httpd、yum update。支持yum install自动解决依赖。 - 缓存目录:
/var/cache/yum
CentOS 8
- 使用
dnf作为默认包管理器(yum命令仍存在,但指向dnf的符号链接)。dnf拥有更快的依赖解析、更好的API支持。 - 新命令:
dnf module管理应用流(AppStream),例如启用PHP模块:dnf module enable php:7.4。 - 缓存目录:
/var/cache/dnf
五、文件系统与存储
CentOS 7
- 默认文件系统为XFS(/boot仍为ext4),支持LVM2。
- 常用命令:
mkfs.xfs、lvm。
CentOS 8
- 同样使用XFS,但内核版本更新,支持更大文件系统和块设备。引入
stratisd(卷管理)作为可选方案。 - 新增
lsblk和blkid命令更强大,fdisk仍可用。
六、系统日志与调试
CentOS 7
- 日志系统:
rsyslog + journald(systemd-journald启动后)。查看日志:journalctl -u httpd或tail -f /var/log/messages。 - 调试工具:
strace、lsof默认未安装,需yum install strace。
CentOS 8
journald默认持久化存储(需配置),rsyslog仍运行但journalctl成为首查方式。例如journalctl --since '1 hour ago'。- 新增
systemd-coredump处理崩溃日志。
七、运维注意事项
- 支持生命周期:CentOS 7主流更新已于2020年结束,但安全更新持续至2024年6月30日;CentOS 8已于2021年12月31日停止维护,建议迁移至CentOS Stream或RHEL。
- 迁移建议:使用
leapp工具可从CentOS 7直接升级到CentOS 8,但需注意leapp已不再维护。更推荐新装CentOS Stream 9或AlmaLinux/Rocky Linux。 - 命令兼容性:多数shell脚本在CentOS 8中需调整服务管理、包管理部分,建议使用
systemctl统一服务操作,dnf取代yum。
结语
CentOS版本升级带来了更现代化、更安全的运维体验,但命令变更也要求运维人员及时更新知识库。IDC环境中,提前规划迁移路径、测试脚本兼容性,可有效避免业务中断。掌握以上关键差异,即可从容应对CentOS 7到8的迁移与日常运维。