CentOS 7 vs 8 vs 9 Shell 脚本与系统工具对比
🧠 CentOS 7 vs 8 vs 9 Shell 脚本与系统工具对比
标签:#CentOS #Shell脚本对比 #运维 #云原生 #容器兼容性
适用人群:系统运维人员、容器/云原生开发者、Linux 学习者
🧭 目录导航
- 🎯 核心差异概览
- 📦 包管理器(yum / dnf)对比
- 🔗 网络配置工具对比
- 🔥 防火墙工具对比
- ⚙️ systemd 管理对比
- 🐳 容器兼容性对比
- ☁️ 云原生适配能力
- 🧬 Kernel 核心功能变化
- 🧪 Shell 脚本示例对比
- 📌 总结
🎯 核心差异概览
yum
iptables
➜ firewalld
ifcfg
传统文件systemd
dnf
+ yum
兼容firewalld
nmcli
+ nmtui
systemd
dnf
nftables
nmcli
systemd
📦 包管理器(yum / dnf)对比
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
🔗 网络配置工具对比
/etc/sysconfig/network-scripts/ifcfg-XXX
nmcli
可用nmcli
, nmtui
nmcli
, nmtui
🔧 查看 IP 示例:
# 通用命令ip addr show# CentOS 7 传统查看cat /etc/sysconfig/network-scripts/ifcfg-eth0# CentOS 9 推荐使用 nmclinmcli device show
🔥 防火墙工具对比
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
✅ 建议统一写法适配三版本。
🐳 容器兼容性对比
☁️ 云原生适配能力
🧬 Kernel 核心功能变化
🧪 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
📌 总结
🔖 关注专栏《版本那些事》获取更多运维干货!