> 技术文档 > CentOS 7 vs 8 vs 9 Shell 脚本与系统工具对比

CentOS 7 vs 8 vs 9 Shell 脚本与系统工具对比


🧠 CentOS 7 vs 8 vs 9 Shell 脚本与系统工具对比

标签:#CentOS #Shell脚本对比 #运维 #云原生 #容器兼容性
适用人群:系统运维人员、容器/云原生开发者、Linux 学习者


🧭 目录导航

  • 🎯 核心差异概览
  • 📦 包管理器(yum / dnf)对比
  • 🔗 网络配置工具对比
  • 🔥 防火墙工具对比
  • ⚙️ systemd 管理对比
  • 🐳 容器兼容性对比
  • ☁️ 云原生适配能力
  • 🧬 Kernel 核心功能变化
  • 🧪 Shell 脚本示例对比
  • 📌 总结

🎯 核心差异概览

版本 包管理器 防火墙默认 网络配置 系统服务 内核版本 支持生命周期 CentOS 7 yum iptablesfirewalld ifcfg 传统文件 systemd 3.10.x 2024-06 已结束 CentOS 8 dnf + yum 兼容 firewalld nmcli + nmtui systemd 4.18.x 2021 停止维护 CentOS Stream 9 纯 dnf nftables nmcli systemd 5.14+(RHEL 9) 持续滚动更新中

📦 包管理器(yum / dnf)对比

功能 CentOS 7 CentOS 8 CentOS 9 默认工具 yum(基于 Python 2) dnf(兼容 yum) dnf(纯 DNF,yum 是软链接) 缓存命令 yum clean all dnf clean all dnf clean all 构建缓存 yum makecache dnf makecache dnf makecache 安装命令 yum install pkg dnf install pkg dnf install pkg

🔧 脚本差异

# CentOS 7 安装 wgetyum install -y wget# CentOS 8+dnf install -y wget

🔗 网络配置工具对比

工具 CentOS 7 CentOS 8 CentOS 9 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-XXX 同上(兼容) ❌ 已弃用 ifcfg,全面使用 NetworkManager 命令行工具 nmcli 可用 nmcli, nmtui nmcli, nmtui

🔧 查看 IP 示例

# 通用命令ip addr show# CentOS 7 传统查看cat /etc/sysconfig/network-scripts/ifcfg-eth0# CentOS 9 推荐使用 nmclinmcli device show

🔥 防火墙工具对比

功能 CentOS 7 CentOS 8 CentOS 9 默认防火墙 iptables/firewalld firewalld(基于 nftables) nftables 命令行工具 iptables, firewall-cmd 同上 nft(推荐)

🔧 端口开放脚本对比

# CentOS 7 / 8 开放端口firewall-cmd --zone=public --add-port=22/tcp --permanentfirewall-cmd --reload# CentOS 9 使用 nft(或兼容 firewall-cmd)nft add rule inet filter input tcp dport 22 accept

⚙️ systemd 管理对比

所有版本都使用 systemd,但脚本上统一如下:

# 启动服务systemctl start nginx# 开机自启systemctl enable nginx# 查看状态systemctl status nginx

✅ 建议统一写法适配三版本。


🐳 容器兼容性对比

特性 CentOS 7 CentOS 8 CentOS 9 / Stream 9 Docker 支持 ✅ 官方支持(旧版) ❌ 官方仓库无 Docker ❌ 不推荐 Docker,推荐 Podman podman 支持 ❌ ✅(推荐) ✅ 默认容器运行时 cgroup 版本 cgroup v1 cgroup v1 cgroup v2

☁️ 云原生适配能力

特性 CentOS 7 CentOS 8 CentOS 9 / Stream Podman/Kube 支持 ⛔️ 需手动安装 ✅ 官方支持 ✅ 官方支持 systemd 容器集成 部分支持 ✅ 完整 ✅ 完整 云厂商适配(阿里云、腾讯云) ✅ 镜像可用 ✅ 镜像可用 ✅ 镜像 + 云原生优化

🧬 Kernel 核心功能变化

Kernel 功能 CentOS 7 (3.10) CentOS 8 (4.18) CentOS 9 (5.14+) eBPF 支持 ❌ 部分(需 backport) ✅ 正式支持 ✅ 增强支持(云原生利器) SELinux 性能 一般 提升 显著提升 cgroup v2 ❌ ❌ ✅ 默认 io_uring ❌ ❌ ✅ 支持高性能 IO

🧪 Shell 脚本示例对比

以下是用于“安装 wget 并配置国内源”的对比:

CentOS 7 脚本:

yum install -y wgetcd /etc/yum.repos.d/mkdir backup && mv *.repo backup/wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum clean all && yum makecache

CentOS 8 脚本:

dnf install -y wgetcd /etc/yum.repos.d/mkdir backup && mv *.repo backup/wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repodnf clean all && dnf makecache

CentOS 9 / Stream 脚本:

dnf install -y wgetcd /etc/yum.repos.d/mkdir backup && mv *.repo backup/wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-9.repodnf clean all && dnf makecache

📌 总结

维度 CentOS 7 CentOS 8 CentOS 9 / Stream 适合入门 ✅ 稳定,兼容性好 ⛔️ 已停止维护 ⛔️ 滚动更新不建议新手 容器支持 Docker Podman(需手动) Podman 默认 云原生友好 ❌ ✅ ✅✅ 建议用途 传统服务器、学习 本地测试环境 云原生开发、K8s 容器

🔖 关注专栏《版本那些事》获取更多运维干货!