从CentOS 7/8老用户视角:快速上手CentOS 9 Stream的3个界面变化与5个安装配置新坑
从CentOS 7/8老用户视角:快速上手CentOS 9 Stream的3个界面变化与5个安装配置新坑
作为一名长期与CentOS打交道的系统管理员,第一次接触CentOS 9 Stream时,那种"熟悉又陌生"的感觉尤为明显。表面上看,它延续了红帽系一贯的稳定风格,但当你真正开始安装配置时,会发现从镜像选择到网络配置,从软件包管理到界面布局,处处藏着需要老用户特别注意的细节变化。本文将基于实际迁移经验,带你快速识别那些最容易让老手"踩坑"的关键变化点。
1. 镜像选择与安装流程的三大界面变化
1.1 CentOS Linux与Stream的抉择新格局
在CentOS官方下载页面,最显著的变化是镜像分类方式。与过去直接选择版本号不同,现在面临两个平行选项:
- CentOS Linux:传统意义上的稳定版(注:截至本文撰写时,CentOS Linux 9已停止维护)
- CentOS Stream:滚动更新的开发分支,实际上已成为CentOS项目的主力方向
对于生产环境迁移,建议选择Stream分支的最新镜像。下载时注意架构选择,x86_64仍是最通用选项,但若使用ARM服务器需选择aarch64。
提示:Stream版本的更新策略更接近Fedora,老用户需调整对"稳定性"的预期,建议先在测试环境验证关键服务。
1.2 安装引导界面的视觉重构
启动安装镜像后,第一个明显变化是GRUB菜单的样式。CentOS 9 Stream采用了更现代的界面设计:
Install CentOS Stream 9 Test this media & install CentOS Stream 9 Troubleshooting与旧版相比,选项描述更加简洁。如需修改内核参数(如网卡命名规则),仍需在选中安装选项后按Tab键进入编辑模式。但有趣的是,过去常用的net.ifnames=0参数在某些新型网卡上可能不再生效——我们将在网络配置章节详细讨论这个问题。
1.3 软件选择界面的逻辑调整
在包选择阶段,CentOS 9 Stream对软件组分类做了重新梳理:
| 分类 | CentOS 7/8选项 | CentOS 9 Stream变化 |
|---|---|---|
| 基础环境 | Minimal Install | 仍保留,但依赖项更精简 |
| 图形界面 | Server with GUI (默认KDE) | 默认GNOME,需手动添加KDE组件 |
| 开发工具 | Development Tools | 拆分为更细粒度的语言运行时和SDK |
| 容器支持 | 需额外安装 | 预置Podman和基础容器工具集 |
实际操作中,如果习惯使用KDE桌面的老用户,需要额外勾选"KDE Plasma Workspaces"组件。而最令人意外的是,即便是最小化安装,系统也会默认包含Podman——这反映了容器化已成为现代Linux的标配。
2. 五个安装后必须检查的配置新坑
2.1 网络接口命名规则的兼容性陷阱
在CentOS 7时代,通过添加net.ifnames=0内核参数可以强制使用传统的ethX命名方式。但在CentOS 9 Stream上,这一方法可能遇到以下问题:
- 某些Intel I225-V等新型网卡必须使用一致性网络设备命名
- 系统安装后修改命名规则需要额外步骤:
# 编辑grub配置 sudo sed -i 's/GRUB_CMDLINE_LINUX="/&net.ifnames=0 /' /etc/default/grub # 重建grub.cfg sudo grub2-mkconfig -o /boot/grub2/grub.cfg # 重命名接口配置文件 sudo mv /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-eth0
建议老用户先确认网卡型号,再决定是否要修改命名规则。对于自动化运维脚本,更稳妥的做法是改用ip命令或nmcli通过MAC地址识别接口。
2.2 Kdump的默认状态与内存占用
CentOS 9 Stream安装程序中,Kdump(内核崩溃转储)功能默认启用,这与之前版本的行为相反。这会导致:
- 系统保留内存增加(约128MB-256MB)
- 在某些内存紧张的虚拟机上可能引发OOM问题
检查当前状态:
sudo kdumpctl status如需禁用:
sudo systemctl disable kdump sudo systemctl stop kdump2.3 密码策略的意外宽松化
从安全角度最令人惊讶的变化是密码策略的放宽。CentOS 9 Stream的默认策略允许:
- 纯数字密码(如"1234")
- 密码长度可短至1字符
- 无强制复杂度要求
对于生产环境,必须手动加固:
# 安装密码策略组件 sudo dnf install libpwquality # 编辑策略配置 sudo vi /etc/security/pwquality.conf建议至少设置:
minlen = 8 minclass = 32.4 终端入口的位置迁移
习惯了CentOS 7/8的桌面用户会发现,终端图标不再直接显示在启动器上。在GNOME默认环境中,需要通过:
- 按
Super(Windows)键调出活动概览 - 搜索"Terminal"
- 或使用快捷键
Ctrl+Alt+T
对于经常使用终端的运维人员,建议右键将其添加到Dock:
gnome-desktop-item-edit ~/.local/share/applications/ --create-new2.5 软件源配置的范式转换
CentOS 9 Stream的仓库配置与EPEL的协作方式有所变化。传统yum命令虽仍可用,但底层已完全转向DNF。关键变化包括:
/etc/yum.repos.d/中的repo文件语法保持兼容- EPEL仓库需要特别启用Stream专用版本:
sudo dnf install epel-release sudo dnf config-manager --set-enabled epel-stream - 模块(module)系统成为管理软件流的主要方式
查看可用模块:
sudo dnf module list3. 系统管理工具链的静默升级
3.1 防火墙管理的新旧命令对照
虽然iptables仍可运行,但CentOS 9 Stream默认使用nftables作为后端。常用命令对应关系:
| 传统命令 | 现代替代方案 |
|---|---|
service iptables save | firewall-cmd --runtime-to-permanent |
iptables -L | nft list ruleset |
system-config-firewall | firewall-config |
建议老用户尽快熟悉firewall-cmd的语法:
# 开放端口示例 sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload3.2 日志系统的时间格式统一
CentOS 9 Stream的journalctl默认启用微秒级时间戳,这可能导致某些日志分析工具解析失败。调整方法:
# 临时修改显示格式 journalctl --utc # 永久修改需编辑配置文件 sudo vi /etc/systemd/journald.conf添加:
[Journal] TimeFormatSec=04. 性能调优的特殊注意事项
4.1 默认调度器的变化影响
CentOS 9 Stream内核默认使用CFS(Completely Fair Scheduler)调度器,这对高负载数据库等应用可能不够理想。检查当前设置:
cat /sys/block/sda/queue/scheduler建议MySQL等IO敏感服务调整为deadline:
echo 'deadline' | sudo tee /sys/block/sd*/queue/scheduler4.2 透明大页(THP)的新问题
与CentOS 7不同,CentOS 9 Stream的THP默认模式可能导致MongoDB等应用性能下降。检查状态:
cat /sys/kernel/mm/transparent_hugepage/enabled禁用方法:
echo 'never' | sudo tee /sys/kernel/mm/transparent_hugepage/enabled在实际迁移案例中,一个Redis服务器在CentOS 9 Stream上出现间歇性延迟,最终发现是THP与NUMA策略冲突所致。通过以下组合方案解决:
# 禁用THP echo never > /sys/kernel/mm/transparent_hugepage/enabled # 调整NUMA平衡 echo 0 > /proc/sys/kernel/numa_balancing # 绑定CPU核心 taskset -c 0,2,4,6 redis-server