奋斗
努力

Rocky Linux 9.4与centos7.9的命令区别?

云计算

Rocky Linux 9.4 与 CentOS 7.9 虽然都源自 RHEL(Red Hat Enterprise Linux)体系,但由于底层架构的重大升级(从 CentOS 7 的 System V init 升级到 Rocky 9 的 systemd,以及软件包管理器的变更),两者在命令使用上存在显著差异。

以下是核心命令区别的详细对比:

1. 软件包管理器 (最核心的区别)

这是日常运维中最常遇到的变化。CentOS 7 使用 yum,而 Rocky 9 默认使用 dnf(虽然保留了 yum 作为别名,但底层逻辑已变)。

功能 CentOS 7.9 Rocky Linux 9.4 备注
安装软件 yum install <pkg> dnf install <pkg> yum 在 R9 中是 dnf 的软链接
更新系统 yum update dnf upgrade 推荐用语不同,upgrade 处理依赖更智能
搜索软件 yum search <name> dnf search <name> 语法一致
查看已装 yum list installed dnf list installed 语法一致
清理缓存 yum clean all dnf clean all 语法一致
移除软件 yum remove <pkg> dnf remove <pkg> 语法一致

注意:在 Rocky 9 中,如果你输入 yum,它会自动调用 dnf,但建议习惯使用 dnf 以利用其新特性(如更好的依赖解析、更快的速度、模块化支持)。

2. 网络配置与管理

CentOS 7 主要依赖 network-scriptsifcfg 文件,而 Rocky 9 彻底转向了 NetworkManagernmcli 工具。

功能 CentOS 7.9 Rocky Linux 9.4 备注
服务状态 systemctl status network systemctl status NetworkManager 不再维护传统的 network 服务
查看 IP ifconfig (需安装 net-tools) ip addr ifconfig 在 R9 中默认未安装
修改 IP 编辑 /etc/sysconfig/network-scripts/ifcfg-* nmcli connection modify / edit 必须使用 nmcli 或配置文件格式变更
重启网络 systemctl restart network nmcli connection reload + up 传统 restart 方式可能无效
防火墙 iptables (直接操作) / firewalld firewall-cmd (仅支持 firewalld) 默认禁用 iptables 服务,强制使用 firewalld

关键示例 (Rocky 9 配置静态 IP):

# 旧版 (CentOS 7): 手动编辑 /etc/sysconfig/network-scripts/
# 新版 (Rocky 9):
nmcli con mod "ens160" ipv4.addresses 192.168.1.100/24
nmcli con mod "ens160" ipv4.gateway 192.168.1.1
nmcli con mod "ens160" ipv4.dns "8.8.8.8"
nmcli con mod "ens160" ipv4.method manual
nmcli con up "ens160"

3. 系统初始化与服务管理

虽然都使用 systemctl,但部分服务的名称和行为发生了变化。

  • Init 系统: 两者都是 systemd,所以 systemctl start/stop/status 基本通用。
  • 时间同步:
    • CentOS 7: 常用 ntpdchronyd
    • Rocky 9: 默认且强制使用 chronyd (chronyc),ntpd 已被弃用。
  • SELinux:
    • CentOS 7: 策略较宽松,常见 setenforce 0 临时关闭。
    • Rocky 9: 策略更严格,且默认开启。某些操作可能需要调整布尔值 (setsebool) 而非直接关闭。

4. 文件系统与挂载

  • 分区工具:
    • CentOS 7: 广泛使用 fdiskparted
    • Rocky 9: 推荐使用 lsblk, blkid 配合 mkfs.xfs (默认文件系统)。XFS 是 RHEL 9 的默认文件系统,而 CentOS 7 默认为 ext4(虽可换 xfs)。
  • LVM:
    • 命令基本一致 (vgcreate, lvextend 等),但 Rocky 9 对 LVM Thin Provisioning 的支持更加成熟。

5. 用户与权限管理

  • 密码加密算法:
    • CentOS 7: 默认使用 SHA-512 ($6$)。
    • Rocky 9: 同样使用 SHA-512,但在 /etc/login.defs 中的默认参数可能有所不同。
  • sudo 版本:
    • Rocky 9 使用了更新版本的 sudo,日志输出格式和某些行为细节(如超时机制)可能与 CentOS 7 略有不同。

6. 其他重要差异

领域 CentOS 7.9 Rocky Linux 9.4
容器技术 Docker (原生), Podman (可选) Podman (首选,无守护进程), Docker (需额外安装)
SSH 版本 OpenSSH 7.4p1 OpenSSH 8.7p1 (更安全,默认禁用弱加密算法)
Python 版本 Python 2.7 (默认), Python 3.6 Python 3.9 (默认), Python 2.7 已移除
GPG 密钥 旧的 GPG 签名机制 引入了新的密钥管理机制,验证更严格
日志位置 /var/log/messages /var/log/messages (兼容), 但推荐使用 journalctl

总结与建议

如果您是从 CentOS 7 迁移到 Rocky 9:

  1. 习惯改变: 请立即适应 dnf 代替 yum,并停止使用 ifconfigservice 命令。
  2. 网络配置: 放弃手动编辑 /etc/sysconfig/network-scripts/ 文件的习惯,全面转向 nmcli 工具。
  3. 脚本兼容性: 如果您的自动化脚本中包含 #!/bin/bash 并调用了 Python 2 或特定的 yum 行为,需要重写以适应 Python 3 和 dnf
  4. Firewalld: 确保您的防火墙规则是基于 firewall-cmd 的,不要尝试直接使用 iptables 规则,除非您明确知道自己在做什么。

尽管底层命令变了,但核心逻辑(安装、启动服务、管理网络)依然遵循 Linux 的标准范式,只是具体的“方言”发生了变化。

未经允许不得转载:云服务器 » Rocky Linux 9.4与centos7.9的命令区别?