1. CentOS Stream 9安装前的认知准备
作为RHEL上游开发分支的CentOS Stream 9,其定位已从传统的"稳定版"转变为"持续交付平台"。这意味着我们需要用全新的视角来看待这个发行版——它既不是测试版也不是不稳定版本,而是Red Hat工程师每天实际提交代码的工作环境。对于开发者而言,这相当于提前获取了RHEL下一个版本的所有特性更新。
选择安装介质时需要注意:
- 官方提供四种ISO镜像:Boot(最小引导)、Minimal(基础系统)、DVD(完整软件包)和Everything(全量仓库)
- 对于大多数用户,推荐使用Minimal镜像(约2GB)配合后续的在线仓库更新
- 企业级部署应考虑使用Everything镜像建立本地仓库
重要提示:由于CentOS Stream的滚动更新特性,安装后务必配置自动更新策略。建议开发环境启用自动安全更新,生产环境则采用分阶段验证更新。
2. 安装介质准备与启动配置
2.1 镜像获取与验证
从官方镜像站(https://mirror.stream.centos.org)下载时,建议选择地理位置最近的镜像源。国内用户可考虑:
- 阿里云镜像站
- 腾讯云开源镜像
- 华为云镜像服务
下载完成后必须进行完整性校验:
# 获取校验文件 wget https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd.iso.SHA256SUM # 计算校验值 sha256sum CentOS-Stream-9-latest-x86_64-dvd.iso # 对比结果 cat CentOS-Stream-9-latest-x86_64-dvd.iso.SHA256SUM2.2 制作启动盘的进阶方法
除常规的Rufus、Ventoy工具外,Linux环境下推荐使用dd命令:
# 确认U盘设备路径(通常为/dev/sdb) lsblk # 写入镜像(注意替换sdX为实际设备) sudo dd if=CentOS-Stream-9-latest-x86_64-dvd.iso of=/dev/sdX bs=4M status=progress oflag=sync对于支持Secure Boot的机器,建议在BIOS中:
- 关闭Fast Boot选项
- 将启动模式设置为UEFI Only
- 安全启动(Secure Boot)可根据实际情况选择启用/禁用
3. 图形化安装流程详解
3.1 初始配置关键步骤
安装界面选择"Install CentOS Stream 9"后,需特别注意:
语言选择:
- 服务器环境建议选择English (United States)
- 桌面用户可选择中文支持,但需注意ibus输入法框架与部分第三方输入法的兼容性问题
键盘布局:
- 中文用户建议添加"Chinese"布局并设置切换快捷键
- 对于开发者,推荐保持US国际键盘布局
时间设置:
- 企业服务器务必启用NTP同步
- 时区选择Asia/Shanghai时注意检查UTC时间显示是否正确
3.2 磁盘分区方案设计
安装类型选择"Custom"时,推荐以下分区方案:
| 挂载点 | 建议大小 | 文件系统 | 适用场景 |
|---|---|---|---|
| /boot/efi | 300MB | FAT32 | UEFI系统必需 |
| /boot | 1GB | XFS | 内核和引导文件 |
| / | 20-50GB | XFS | 根目录 |
| /home | 剩余空间 | XFS | 用户数据 |
| swap | 内存的1-1.5倍 | swap | 休眠功能需要 |
对于高级用户,可考虑:
- 使用LVM实现动态扩容
- 为/var单独分区(特别是数据库服务器)
- 添加/boot/grub2分区(多系统引导场景)
分区技巧:在虚拟化环境中,建议将/boot放在磁盘前端以获得更好的IO性能
3.3 软件包选择策略
基础环境选择界面包含多个预设选项:
- Server with GUI:带图形界面的服务器环境(默认安装GNOME)
- Server:最小化服务器安装
- Workstation:开发工作站配置
- Custom Operating System:完全自定义
对于生产服务器,建议:
- 选择"Minimal Install"
- 手动添加"Compatibility Libraries"和"Development Tools"组
- 网络服务按需添加(如"Network Servers")
桌面用户应注意:
- GNOME 40+版本对硬件加速要求较高
- 可同时安装KDE Plasma作为备用桌面环境
# 安装后添加KDE桌面 sudo dnf groupinstall "KDE Plasma Workspaces"4. 首次启动后的关键配置
4.1 网络配置实战
网络管理器(NetworkManager)已成为默认网络配置工具,推荐配置方式:
- 静态IP配置(服务器环境必需):
nmcli con mod "Wired connection 1" \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8,8.8.4.4" \ ipv4.method manual- 绑定多网卡(企业级应用):
# 创建绑定接口 nmcli con add type bond con-name bond0 ifname bond0 mode active-backup # 添加从属接口 nmcli con add type bond-slave ifname eth0 master bond0 nmcli con add type bond-slave ifname eth1 master bond0 # 激活绑定 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth14.2 系统更新与仓库管理
CentOS Stream 9采用DNF作为包管理器,关键操作:
- 更新所有软件包:
sudo dnf update --refresh- 添加EPEL仓库(第三方软件源):
sudo dnf install epel-release sudo dnf config-manager --set-enabled epel- 查询软件包:
# 搜索包含python3的包 dnf search python3 # 显示包详细信息 dnf info httpd4.3 安全加固措施
首次启动后应立即执行:
- 防火墙配置:
# 启用firewalld sudo systemctl enable --now firewalld # 放行SSH端口 sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload- SELinux策略:
# 查看当前状态 getenforce # 永久启用 sudo sed -i 's/SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config- SSH安全:
# 修改默认端口 sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config # 禁用root登录 sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config # 重启服务 sudo systemctl restart sshd5. 常见问题排错指南
5.1 安装阶段问题
问题1:无法识别NVMe磁盘解决方案:在启动参数添加nvme_core.default_ps_max_latency_us=0
问题2:图形安装界面崩溃
- 尝试使用nomodeset参数启动
- 或改用文本安装模式
问题3:分区表创建失败
- 检查磁盘是否被其他系统锁定
- 使用
wipefs -a /dev/sdX清除旧签名
5.2 首次启动问题
问题1:网络服务未自动启动
# 检查NetworkManager状态 systemctl status NetworkManager # 启用网络接口 nmcli con up "Wired connection 1"问题2:图形界面卡在登录循环
- 检查~/.xsession-errors日志
- 尝试创建新用户测试
- 可能原因:显卡驱动问题或磁盘空间不足
问题3:中文输入法不工作安装ibus-libpinyin组件:
sudo dnf install ibus-libpinyin im-chooser # 配置输入法框架6. 生产环境优化建议
6.1 性能调优
- 调整内核参数:
# 编辑sysctl配置 sudo vim /etc/sysctl.d/99-tuning.conf # 添加以下内容 net.core.somaxconn = 4096 vm.swappiness = 10 fs.file-max = 65535- 优化IO调度:
# 查看当前调度器 cat /sys/block/sdX/queue/scheduler # 永久修改为deadline echo 'ACTION=="add|change", KERNEL=="sd*", ATTR{queue/scheduler}="deadline"' | sudo tee /etc/udev/rules.d/60-ioscheduler.rules6.2 监控与维护
- 安装基础监控工具:
sudo dnf install htop iotop iftop nmon- 配置日志轮转:
# 检查logrotate配置 sudo vim /etc/logrotate.conf # 添加应用日志配置 sudo vim /etc/logrotate.d/myapp- 自动化更新策略:
# 安装自动更新工具 sudo dnf install dnf-automatic # 配置自动更新 sudo sed -i 's/apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf sudo systemctl enable --now dnf-automatic.timer在实际部署中,我们发现CentOS Stream 9的软件包更新节奏明显快于传统CentOS。某次内核更新导致我们的NVIDIA驱动需要重新编译,这提醒我们:在自动化部署脚本中应该包含驱动模块的DKMS注册步骤。同时,将关键服务的自动启动检查加入系统初始化流程,可以避免因更新导致的服务中断。