centos7和centos8 命令差别?

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> start
chkconfig <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 upgradednf 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 anmcli device show

✅ CentOS 8 更推荐使用 NetworkManagernmcli 来管理网络。


🔥 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技术博 » centos7和centos8 命令差别?