CentOS 7 和 CentOS 8 虽然都是基于 Red Hat Enterprise Linux(RHEL)的企业级 Linux 发行版,但它们之间在系统架构、默认工具和命令方面存在一些关键差异。这些变化主要体现在初始化系统、软件包管理器、网络配置方式、防火墙工具等方面。
以下是 CentOS 7 和 CentOS 8 常用命令的主要区别汇总:
🔧 1. 初始化系统(System and Service Management)
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 默认 init 系统 | SysVinit + systemd(兼容模式) |
systemd |
| 启动服务 | service <servicename> startchkconfig <servicename> on |
systemctl start <servicename>systemctl enable <servicename> |
| 查看运行级别 | runlevel |
systemctl get-default |
✅ CentOS 8 完全使用 systemd,不再支持 SysVinit 的兼容性脚本。
📦 2. 软件包管理
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 包格式 | RPM | RPM |
| 默认包管理器 | yum |
dnf(向下兼容 yum) |
| 更新缓存 | yum makecache |
dnf makecache |
| 安装包 | yum install package |
dnf install package |
| 升级系统 | yum update |
dnf upgrade 或 dnf upgrade --refresh |
| 删除包 | yum remove package |
dnf remove package |
| 查看依赖关系 | yum deplist package |
dnf repoquery --requires package |
✅ CentOS 8 推荐使用 dnf 替代 yum,它更高效且功能更强(如模块化支持)。
🧱 3. 模块化支持(Application Streams)
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 应用流支持 | ❌ 不支持 | ✅ 支持(AppStream) |
| 示例:安装不同版本的 PHP | 需要第三方源 | 使用 dnf module:dnf module install php:7.4/common |
✅ CentOS 8 引入了 Application Streams(模块化),允许在同一仓库中提供多个版本的应用程序。
🌐 4. 网络配置工具
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 默认网络管理工具 | network 服务 + ifcfg-* 文件 |
NetworkManager + nmcli/nmtui |
| 修改 IP 地址 | 编辑 /etc/sysconfig/network-scripts/ifcfg-<interface> |
使用 nmcli 或编辑 *.nmconnection 文件 |
| 重启网络服务 | systemctl restart network |
nmcli networking off && nmcli networking on |
| 查看 IP | ifconfig(需安装 net-tools) |
ip a 或 nmcli device show |
✅ CentOS 8 更推荐使用 NetworkManager 和 nmcli 来管理网络。
🔥 5. 防火墙工具
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 默认防火墙 | firewalld |
firewalld |
| 添加端口 | firewall-cmd --permanent --add-port=80/tcp |
同样命令 |
| 重新加载规则 | firewall-cmd --reload |
同样命令 |
✅ 防火墙工具基本一致,但 CentOS 8 可能会默认启用更多安全策略。
📁 6. 文件系统和挂载管理
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 默认文件系统 | XFS | XFS |
| 挂载配置文件 | /etc/fstab |
/etc/fstab |
| 检查挂载点 | mount |
findmnt(新增推荐命令) |
✅ CentOS 8 新增了 findmnt 工具,方便查看挂载信息。
💻 7. 用户与认证管理
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| 认证管理工具 | authconfig |
authselect |
| 设置 LDAP/NIS 等 | authconfig-tui |
authselect select sssd |
✅ CentOS 8 使用 authselect 替代了 authconfig,更加灵活安全。
🛠️ 8. 其他常用命令差异
| 功能 | CentOS 7 | CentOS 8 |
|---|---|---|
| Python 版本 | 默认 Python 2.x(可安装 Python 3) | 默认无 Python,需手动选择(通过 alternatives) |
| 日志查看 | journalctl(也支持) |
更多使用 journalctl |
| 安装 GUI | yum groupinstall "GNOME Desktop" |
dnf groupinstall "Server with GUI" |
| 系统角色(RHEL特性) | ❌ 不支持 | ✅ 支持(部分可通过 cockpit 实现) |
🔄 总结:CentOS 8 相比 CentOS 7 的主要改进
| 方面 | CentOS 7 | CentOS 8 |
|---|---|---|
| 内核版本 | 3.10.x | 4.18.x |
| 默认 Shell | Bash | Bash(未变) |
| 默认 Python | 2.x | 不预装,需手动选择 |
| 默认 Web 服务器 | Apache 2.4 | Apache 2.4 / Nginx(可选) |
| 默认数据库 | MariaDB 5.x | MariaDB 10.3+ |
| 容器支持 | Docker(需额外安装) | Podman、Buildah 等原生容器工具 |
✅ 小贴士
- 如果你从 CentOS 7 迁移到 CentOS 8,建议:
- 使用
dnf替代yum - 使用
systemctl管理服务 - 使用
nmcli管理网络 - 使用
authselect配置认证 - 注意模块化应用(AppStream)的使用方式
- 使用
如果你有具体的命令或操作场景需要对比,我可以提供更详细的说明。欢迎继续提问!
CLOUD技术博