1. 项目概述
最近在本地环境搭建了一套RHEL 10的虚拟机开发环境,整个过程踩了不少坑,也积累了一些实用经验。RHEL(Red Hat Enterprise Linux)作为企业级Linux发行版,其稳定性和安全性一直备受推崇。RHEL 10是最新发布的长期支持版本,相比前代在容器支持、安全特性和性能优化方面都有显著提升。
对于开发者而言,在虚拟机中安装RHEL 10是个非常实用的选择。它既能保持开发环境的独立性,又不会影响宿主机的稳定性。我在实际安装过程中发现,从镜像获取到系统配置的每个环节都有需要注意的细节,特别是网络配置和软件源设置这些关键步骤,稍有不慎就会导致后续使用出现问题。
2. 环境准备
2.1 硬件资源规划
在开始安装前,需要合理规划虚拟机资源分配。根据RHEL 10的系统要求,我建议的最低配置如下:
- CPU:至少2个vCPU核心(开发环境建议4核)
- 内存:最小2GB(GUI环境建议4GB以上)
- 存储:系统分区至少20GB(实际开发建议50GB+)
- 网络:桥接或NAT模式均可
提示:如果宿主机资源有限,可以关闭图形界面安装最小化版本,这样1GB内存也能流畅运行。
2.2 虚拟化平台选择
常见的虚拟化平台对RHEL 10都有良好支持:
| 平台 | 优点 | 注意事项 |
|---|---|---|
| VirtualBox | 免费、轻量 | 3D加速性能一般 |
| VMware Workstation | 功能全面 | 需要许可证 |
| KVM | 原生Linux支持 | 配置稍复杂 |
我个人选择的是VirtualBox 7.0,因为它对个人用户完全免费,且跨平台支持良好。安装包可以从Oracle官网直接下载。
2.3 获取安装镜像
RHEL 10的ISO镜像可以通过Red Hat开发者计划免费获取:
- 访问Red Hat开发者网站注册账号
- 登录后进入下载页面
- 选择"Red Hat Enterprise Linux 10"版本
- 下载对应的ISO文件(建议选择DVD版本)
镜像文件大约8-10GB,下载完成后务必校验SHA256摘要值,确保文件完整性。
3. 安装过程详解
3.1 创建虚拟机
在VirtualBox中新建虚拟机的关键步骤如下:
- 点击"新建"按钮,输入虚拟机名称(如RHEL10-Dev)
- 类型选择"Linux",版本选"Red Hat (64-bit)"
- 内存分配建议4GB(2048MB是最低要求)
- 创建虚拟硬盘,选择VDI格式,动态分配大小
- 初始硬盘大小设为50GB(可根据需要调整)
创建完成后,还需要进行一些关键配置调整:
bash复制# 修改虚拟机设置
VBoxManage modifyvm "RHEL10-Dev" --cpus 2 # 设置2个CPU核心
VBoxManage modifyvm "RHEL10-Dev" --ioapic on # 启用IO APIC
VBoxManage modifyvm "RHEL10-Dev" --audio none # 禁用音频(开发环境通常不需要)
3.2 安装系统
挂载ISO镜像启动虚拟机后,会进入安装界面:
- 选择"Install Red Hat Enterprise Linux 10"
- 语言选择English(可根据需要选择中文)
- 安装信息摘要界面需要配置以下几个关键部分:
- 软件选择:对于开发环境,建议选择"带GUI的服务器"并附加"开发工具"
- 安装目标:选择之前创建的虚拟磁盘,建议启用自动分区
- 网络和主机名:启用网络连接,设置合适的主机名
- root密码:设置强密码(至少12位混合字符)
重要:务必记下root密码,如果使用企业环境,建议配置LDAP/Kerberos认证。
安装过程大约需要15-30分钟(取决于硬件性能),完成后需要重启虚拟机。
4. 初始配置
4.1 首次启动设置
首次启动时会进行一些初始化配置:
- 接受许可证协议
- 创建普通用户(建议不要日常使用root账户)
- 配置时区和日期时间
- 注册系统到Red Hat订阅管理(可选)
对于开发环境,我建议跳过订阅注册,使用开发者模式的权限即可。
4.2 网络配置
RHEL 10使用NetworkManager管理网络,基本配置命令:
bash复制# 查看网络接口
nmcli device status
# 配置静态IP(如果需要)
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
# 重启网络连接
nmcli connection up eth0
如果使用NAT网络模式,可能需要配置端口转发才能从宿主机访问虚拟机服务。
4.3 软件源配置
虽然RHEL需要订阅才能获取官方更新,但开发者可以通过以下方式配置软件源:
- 注册开发者订阅:
bash复制sudo subscription-manager register --username <开发者账号> --password <密码>
sudo subscription-manager attach --auto
- 或者配置EPEL源(额外软件包):
bash复制sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
5. 开发环境优化
5.1 基础工具安装
开发必备工具包:
bash复制sudo dnf groupinstall "Development Tools"
sudo dnf install git vim-enhanced tmux zsh
5.2 容器支持
RHEL 10加强了容器支持,安装Podman:
bash复制sudo dnf install podman
sudo systemctl enable --now podman.socket
验证安装:
bash复制podman run hello-world
5.3 性能调优
针对虚拟机环境的优化建议:
- 安装VirtualBox增强工具:
bash复制sudo dnf install kernel-devel gcc make perl
# 然后在VirtualBox菜单选择"设备"->"安装增强功能"
- 调整swappiness值(减少交换分区使用):
bash复制echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
- 禁用不必要的服务:
bash复制sudo systemctl disable avahi-daemon
6. 常见问题解决
6.1 安装卡在dracut界面
如果启动时卡在dracut救援shell,通常是存储配置问题。解决方法:
- 检查虚拟机设置中的存储控制器类型(建议用SATA)
- 确保ISO镜像正确挂载
- 尝试在启动时添加内核参数
nomodeset
6.2 网络连接失败
网络问题的排查步骤:
- 检查虚拟机网络适配器设置(桥接/NAT)
- 查看NetworkManager服务状态:
bash复制systemctl status NetworkManager
- 测试基础连接:
bash复制ping -c4 8.8.8.8
6.3 软件包安装失败
如果遇到依赖问题或软件包找不到:
- 清理dnf缓存:
bash复制sudo dnf clean all
- 检查订阅状态:
bash复制sudo subscription-manager status
- 尝试添加EPEL源(如前所述)
7. 备份与快照策略
对于开发环境,定期备份非常重要。VirtualBox提供了快照功能:
- 创建干净安装后的基础快照
- 在进行重大配置变更前创建新快照
- 可以使用VBoxManage命令行管理快照:
bash复制VBoxManage snapshot "RHEL10-Dev" take "AfterDevSetup" --description "基本开发环境配置完成"
对于重要数据,建议额外配置自动备份到宿主机共享文件夹。
经过这套配置,我的RHEL 10虚拟机已经稳定运行了三个月,作为日常开发环境非常可靠。特别是Podman的集成让容器开发变得十分顺畅。唯一需要注意的是定期检查订阅状态,确保能获取安全更新。