我第一次装Red Hat Enterprise Linux,是在大一宿舍里,一台老旧ThinkPad上折腾到凌晨。那时候电脑装的是Windows,我不敢对实体机下手,只能在虚拟机里一步步试。后来从RHEL 7一路用到9.0,我慢慢发现,学生第一次接触RHEL,最卡人的往往不是复杂的命令和概念,而是安装阶段那些没人提前告诉你的细节:该下载哪个镜像、虚拟机怎么配置、为什么装完以后连dnf install都报错。
这篇文章就把这条路上我实测过的完整过程整理出来,从识别版本、下载ISO、创建虚拟机,到分区、注册订阅、日常命令排查,一条线讲清楚。不管你是刚碰Linux的大一新生,还是在准备RHCSA/RHCE的进阶党,这份内容都能帮你少走一半弯路。
1. 装RHEL 9.0之前,先把这几件事想清楚
1.1 为什么学生党值得选RHEL,而不是Ubuntu或CentOS Stream
先说句实话,日常自己玩,Ubuntu确实更方便,驱动全、社区活跃、遇到问题一搜就有答案。但RHEL在另一个维度上有不可替代的价值:它是企业Linux的事实标准。你去招聘网站看运维和云计算岗位,十个里七个要求熟悉Red Hat系;考RHCSA/RHCE用的就是这个发行版;很多公司核心业务服务器跑的就是RHEL的订阅环境。
CentOS Stream虽然也是Red Hat系,但它是"滚动向前"的。RHEL 9.0是稳定发行版,适合学习和对照教材,版本也算新,内核5.14,默认文件系统XFS,桌面是GNOME 40,整体界面和操作逻辑对新手非常友好。用RHEL做学习环境,练的就是生产环境的手感,这点是很多社区发行版给不了的。
1.2 获取安装ISO的两种正经途径,别乱下载
RHEL官网下载页需要注册一个Red Hat账号才能拿到ISO。学生用个人邮箱注册就行,注册完成后进入Red Hat Developer订阅页面,这里有一个对个人开发者免费的订阅权益,下面第四章我会详细讲怎么用它激活软件源。下载ISO时注意选对版本:RHEL 9.0 x86_64的DVD镜像,文件名类似rhel-baseos-9.0-x86_64-dvd.iso,体积接近7GB,架构别选成ARM或者ppc64le。
如果官网下载速度不理想,可以去国内高校的Linux镜像站找找,部分镜像站会提供RHEL安装镜像。下载完以后最好校验一下SHA256值,这个习惯在以后下载任何Linux镜像时都用得上。Linux下用sha256sum校验,Windows下用PowerShell的Get-FileHash。
1.3 虚拟机还是实体机:学生阶段我强烈建议虚拟机
RHEL对消费级硬件的驱动支持远不如Windows,尤其是笔记本的无线网卡和独立显卡,经常装完以后发现没驱动、上不了网,那种挫败感足以劝退一个新手。实体机安装还涉及U盘启动盘制作、Windows引导覆盖等一堆额外风险,对只是想学系统的同学来说,完全没必要。
虚拟机的优势非常实在:硬件配置随时调,装坏了打一个快照就能回滚,还能同时开多台虚拟机模拟集群。学生电脑普遍8GB或16GB内存,分配2GB到4GB给虚拟机很轻松。虚拟机软件我建议VMware Workstation Player,免费、稳定、兼容性好;VirtualBox也可以,但部分版本对RHEL 9的3D加速支持一般。
值得提前检查的一点:进Windows任务管理器,看"性能"标签页里的CPU虚拟化是否已启用。如果显示"已禁用",需要重启进BIOS,在Intel VT-x或AMD-V选项处开启。很多人在虚拟机里安装时卡在第一步,就是这个开关没打开。
2. 虚拟机创建与引导:这些设置决定了你后面省不省心
2.1 新建虚拟机时的参数配置,直接照抄
这一步没有玄学,参数合理就能稳定跑。打开VMware Workstation Player,选择创建新虚拟机,操作系统类型选Linux,版本选Red Hat Enterprise Linux 9 64-bit。具体参数参考下表:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 内存 | 2048MB以上,推荐4096MB | 低于2048MB图形界面会明显卡顿 |
| 处理器 | 2核 | 学习用途完全足够 |
| 磁盘 | 40GB | 20GB也能装,但后期装软件、做实验会比较紧张 |
| 网络 | NAT模式 | 虚拟机共享主机网络,最省心 |
| 声卡/打印机 | 移除 | 安装过程中偶尔会导致异常 |
磁盘大小这里多说一句,RHEL 9装完基础图形环境大概占用10GB出头,看起来40GB用不完,但后面装开发工具、做RHCSA实验,磁盘空间消耗比你想的快得多。我建议干脆给到40GB,VMware的磁盘是动态增长的,实际占用不会一上来就是40GB。
2.2 BIOS/UEFI与虚拟化开关,装之前先检查
如果你是实体机安装,启动盘做好以后还需要进BIOS调整启动顺序。但虚拟机场景下,重点是确认VMware的虚拟机设置里,处理器选项的"虚拟化Intel VT-x/EPT"或者"AMD-V/RVI"已经勾选。这个选项默认真实机开启,但个别情况下会自己掉,安装时如果提示CPU不支持或性能极差,优先检查这里。
还有一个容易被忽略的问题:如果你的Windows系统本身开启了Hyper-V,VMware的某些版本会提示"VMware Workstation和Hyper-V不兼容"。解决方式有两种,要么在控制面板的"启用或关闭Windows功能"里关掉Hyper-V,要么在VMware设置里把虚拟机切换到WHPV兼容模式。个人建议直接关掉Hyper-V,反正学生阶段用Docker Desktop时也用WSL 2比较多,和VMware同时共存本来就不是必须的。
2.3 从ISO启动时最可能遇到的两个引导问题
新建好虚拟机以后,在虚拟机设置里把CD/DVD指向下载好的ISO文件,然后开机。正常会看到一个黑底GRUB菜单,选项是Install Red Hat Enterprise Linux 9.0和Test this media & install。这里面有两个经典问题:
第一个是安装界面一直黑屏或者花屏。这种问题大概率出在显卡兼容性上。可以在GRUB菜单按Tab键或e键编辑启动参数,在linux那行末尾加上nomodeset,然后按Ctrl+X启动。这个参数会让内核加载基本显示驱动,虽然分辨率会低一些,但至少能进安装界面,装好后再恢复正常即可。
第二个是提示Media not found或者读不到安装源。检查虚拟机的CD/DVD设置,确认ISO文件没有被误挂载成物理光驱,以及ISO路径里没有中文或空格。这两个问题我当年都见过,最后发现是路径里一个空格惹的祸,排查了半小时。
3. 安装向导逐屏走一遍,这几个选项别乱选
3.1 语言和键盘:第一次装到底选中文还是英文
这部分其实是个学习策略问题。如果你是为了考RHCSA或看官方文档,我反而建议系统语言选英文。原因很简单:所有报错信息、路径、命令输出默认都是英文,早一天习惯英文界面,早一天无障碍读官方文档。如果你纯粹为了体验,选简体中文也没问题,RHEL的中文本地化做得不错,GNOME桌面环境下中文显示和输入法都挺流畅。
键盘保持默认的English (US)即可,除非你用的是非标准布局。这一点和语言是独立选择的,很多人以为选中文系统,键盘就会自动适配,实际上不是。
3.2 Software Selection:Workstation、Server with GUI还是Minimal Install
安装信息摘要页面里,"软件选择"可能是新手最纠结的一项。RHEL 9提供了几类典型环境,我建议你按这个逻辑选:
- 只想尽快看到一个能用的图形界面,日常练练命令:选Workstation。
- 想模拟服务器环境,但又不希望全黑屏吓到自己:选Server with GUI。
- 已经有点基础,想彻底走命令行路线:选Minimal Install,装完以后自己按需装工具。
- 完全跟着RHCSA教材走,教材要求装带GUI的服务器:选Server with GUI,教材里后半部分会频繁用到图形工具。
我个人给零基础学生的建议是Server with GUI。它比Workstation少装一堆用不上的办公和媒体软件,比Minimal Install多了一个能用的桌面环境,整体更贴近真实服务器的软件组件集。
3.3 磁盘与分区:自动省事,但手动LVM更接近生产环境
安装摘要里的"安装目的地"要单独说一下。默认是自动分区,点进去以后直接点"完成",RHEL会自动把磁盘做成LVM布局。这对新手是最安全的选择。但我建议你多花十分钟看一下自定义分区,尤其是将来要往运维方向走的话。
自定义分区时,先选择"自定义",然后手动创建标准分区和LVM逻辑卷。我的习惯分配方式是这样:
| 挂载点 | 大小 | 类型 | 说明 |
|---|---|---|---|
| /boot | 1GB | 标准分区xfs | 引导文件,给大一点没坏处 |
| / | 15GB | LVM逻辑卷xfs | 系统根目录,放系统和软件 |
| /home | 剩余全部 | LVM逻辑卷xfs | 用户数据独立,重装系统不影响 |
| swap | 4GB | LVM逻辑卷swap | 交换分区,休眠和内存溢出时会用到 |
LVM这个概念新手可能要绕一下,我用个类比:传统分区就像在硬盘上画格子,画完了大小就不能改;LVM相当于在硬盘上建了一个大储物间,里面再隔出小隔间,储物间还有富余的时候,小隔间的空间随时可以调整。RHEL默认文件系统是XFS,这也是生产环境的选择,比老牌的ext4在处理大文件和高并发场景下表现更好。
3.4 网络、主机名、Root密码和用户创建
网络和主机名这一项,默认NAT模式下会自动通过DHCP获取IP,不配置也能装完。但建议你顺手把主机名改成有意义的名称,比如rhel9-student,而不是默认的localhost.localdomain。这个习惯在以后做集群实验、看日志时非常有用。
Root密码设置没什么好说的,关键是别用一个太弱的口令;而用户创建这里有个容易漏的细节:用户设置界面底部有一个"将此用户设为管理员"的勾选项。这个勾选了以后,你的普通用户会被加入wheel组,拥有sudo权限。RHEL设计哲学里,日常操作应该用普通用户加sudo,而不是直接登录root。所以这个选项建议勾上,后面用起来顺手得多。
安装摘要里其他选项,比如时区选Asia/Shanghai;Kdump建议保持默认开启,但如果你的虚拟机内存只有2GB,可以考虑关掉,因为它会在系统启动时预留一部分内存给崩溃转储机制。
3.5 从Reboot到进入桌面,中间还有一次initial-setup
点"开始安装"以后,系统会进入安装进度页面,这个过程通常5到10分钟,取决于虚拟机性能。真正安装完成后点"Reboot System",重启后不要直接以为就进入桌面了,RHEL还会启动一个初始化配置程序initial-setup,要你确认许可证协议,以及是否启用订阅(这一步如果你在安装时没有注册系统,可以先选"不订阅"跳过,等进系统后再用命令行订阅,第四章会详细说)。
等这些走完,你才会真正看到GNOME桌面的登录界面。到这一刻,RHEL 9.0的安装才算真正完成。
4. 装完先别急着玩:订阅注册与DNF软件源
4.1 为什么一上来dnf install就报错,不是系统坏了,是仓库没激活
很多学生装完RHEL第一件事就是打开终端敲sudo dnf install vim,然后迎面一个错误。这里的核心逻辑在于:RHEL默认只有注册了订阅才能访问红帽软件仓库,而红帽仓库里的软件包都不是凭空来的,是需要商业订阅支撑的。
在RHEL中,/etc/yum.repos.d/目录下默认的redhat.repo文件在没注册订阅时是空的,里面的仓库源地址指向红帽CDN,需要有效订阅才能连通。所以报错信息往往是Error: Unable to find a match或Cannot download...。这不是系统装坏了,而是软件源没有被激活。
4.2 免费注册开发者订阅,让RHEL变成学生也能正常用
Red Hat有一个面向个人开发者的免费订阅计划,全称是Red Hat Developer Subscription for Individuals。用个人邮箱在developers.redhat.com注册,不需要信用卡,就能获得一个免费订阅,适用于包括RHEL 9.0在内的多个版本。这是学生党最有价值的羊毛之一。
注册好后,在RHEL虚拟机里执行:
sudo subscription-manager register --username 你的用户名 --password 你的密码 sudo subscription-manager attach --auto第一条命令是把这台机器绑定到你的Red Hat账号,第二条是自动附加匹配的订阅。执行完以后验证一下:
sudo subscription-manager status看到Status: Subscribed就说明订阅生效了。这时候再执行sudo dnf install vim,你会发现之前怎么都不认账的仓库,现在一切正常,而且能拉取到RHEL专属的丰富软件包。
4.3 没有网络或暂时不想注册,用本地ISO做临时软件源
有些同学的实验环境是离线内网,没法访问红帽CDN,那就可以把安装用的DVD ISO直接挂载成本地软件源。这个方法在应急时非常好用,而且能锻炼你对repo文件结构的理解。
先把安装ISO上传或挂载进虚拟机,然后执行挂载:
sudo mkdir -p /mnt/rheliso sudo mount -o loop /home/user/rhel-baseos-9.0-x86_64-dvd.iso /mnt/rheliso然后创建一个自定义repo文件:
sudo vi /etc/yum.repos.d/local.repo内容写到:
[BaseOS] name=Local BaseOS baseurl=file:///mnt/rheliso/BaseOS enabled=1 gpgcheck=0 [AppStream] name=Local AppStream baseurl=file:///mnt/rheliso/AppStream enabled=1 gpgcheck=0这个例子里我关闭了gpgcheck,因为本地ISO来源可信任;如果是从不明渠道下载的镜像,绝对不要关。配置完成后执行sudo dnf clean all && sudo dnf makecache,再看dnf list available,软件包就都出来了。
注意,这个方案只是临时手段,ISO里带的软件版本相对固定,要长期用还是得注册订阅或者切换到CentOS Stream/Rocky Linux这类兼容发行版。
4.4 如果实在绕不开订阅,可以走CentOS Stream/Rocky Linux路线
说句大实话,如果只是自己练手、不想折腾账号注册,那直接装Rocky Linux或AlmaLinux会更省事。它们和RHEL完全兼容,安装界面、目录结构、命令体系几乎一样,但软件源免费放开,不用注册。CentOS Stream则是更接近RHEL未来版本的滚动版,适合想要"新"又不想花钱的人。
但如果你准备考证、进企业,或者单位里明确要求RHEL技术栈,那注册开发者订阅这个流程本身就值得走一遍,因为生产环境里的注册、订阅、注销操作,和你在虚拟机里练的几乎一模一样。
5. 学生日常使用的高频命令和踩坑排查笔记
5.1 装完第一件事:打一个干净快照
系统刚装好、订阅注册完、软件源能正常用,这三件事都完成以后,我最想提醒你的不是急着装各种软件,而是回VMware界面,给虚拟机打一个快照。快照相当于系统的存档点,以后不管你怎么折腾,内核崩了、桌面搞坏了、误删了系统文件,只要回滚到这个快照,几分钟就能回到现在这个干净状态。
我自己的习惯是打两层:装好系统未注册时打一个"基础系统",注册并更新完以后打一个"学习起点"。这样哪个环节出了问题,我都能定位到具体阶段。学生阶段做实验,这个习惯比任何防护工具都管用。
5.2 高频操作命令清单,建议你存一份
这部分是从学生视角整理的最常用命令,基本覆盖了从装软件、看状态、管理服务到创建用户的日常高频操作:
# 软件包管理 sudo dnf search 关键词 sudo dnf install 软件名 sudo dnf update sudo dnf remove 软件名 # 系统服务管理 sudo systemctl status sshd sudo systemctl start sshd sudo systemctl enable sshd sudo systemctl restart network # 查看系统信息 cat /etc/redhat-release uname -r hostnamectl ip addr ping -c 4 192.168.1.1 # 用户与权限 sudo useradd 用户名 sudo passwd 用户名 sudo usermod -aG wheel 用户名 # 日志与排错 journalctl -xe journalctl -u sshd -f特别注意usermod -aG wheel 用户名这行,把用户加进wheel组后,这个用户才有sudo权限。很多学生装完系统后一直纠结为什么输入sudo提示不在sudoers文件中,就是因为安装用户界面里忘了勾选管理员选项。
5.3 虚拟机里"网络不通"的完整排查链路
给你一个最典型的场景:虚拟机里打开终端准备联网装东西,结果ping www.baidu.com不通,但Windows主机一切正常。遇到这种情况,不要慌,按顺序看:
第一步确认网卡状态:
ip a看看有没有类似ens160或ens33的网络接口,以及是否被分配了IP地址。如果没有IP,很可能是NetworkManager没有接管网卡,执行:
sudo systemctl status NetworkManager nmcli device status nmcli connection show如果网卡没被NetworkManager管理,执行nmcli device connect ens160尝试连接。第二步确认网关和DNS:
ip route cat /etc/resolv.confNAT模式下,默认网关通常是192.168.xxx.2,DNS可以和主机一致。如果路由有问题,用nmcli手动配置:
sudo nmcli connection modify ens160 ipv4.addresses 192.168.100.128/24 sudo nmcli connection modify ens160 ipv4.gateway 192.168.100.2 sudo nmcli connection modify ens160 ipv4.dns 192.168.100.2 sudo nmcli connection modify ens160 ipv4.method manual sudo nmcli connection up ens160第三步排查防火墙挡了对外访问或SSH连接。很多时候,网卡IP正常、能ping通网关,但VMware里SSH连不上,问题就在firewalld:
sudo systemctl status firewalld sudo firewall-cmd --list-all sudo firewall-cmd --add-port=22/tcp --permanent sudo firewall-cmd --reload放行22端口后,SSH连接问题基本就解决了。
5.4 装open-vm-tools,让窗口大小自动适配
VMware虚拟机默认情况下面板分辨率固定,全屏使用时很别扭。解决办法不是去虚拟机菜单里点"安装VMware Tools",而是直接安装开源版本:
sudo dnf install open-vm-tools装完后不用额外配置,重启虚拟机,窗口自动拉伸、剪贴板共享、拖拽文件这些功能就都能用了。这个包在RHEL 9的AppStream仓库里就有,前提是你前面订阅或本地源已经配置好。
5.5 图形界面和命令行怎么切换,也是学生问得最多的
服务器上很少装图形界面,但学生阶段桌面环境用得多。掌握这两条命令,你就能随时在"开机进桌面"和"开机进命令行"之间切换:
sudo systemctl set-default graphical.target # 开机进图形界面 sudo systemctl set-default multi-user.target # 开机进命令行临时切换直接执行systemctl isolate命令即可,不用修改开机默认配置。我第一次接触这个机制时一头雾水,后来理解了target可以看成一组服务的集合,相当于Windows里的"启动模式",一通百通。
最后说一点我自己装了那么多次系统后的感受:RHEL 9.0的安装过程其实并不复杂,真正决定你能不能学好它的,是安装之前对需求的理解和安装之后处理问题的习惯。镜像别乱下、虚拟机参数别瞎调、订阅注册别嫌麻烦、分区别全默认、装完先打快照——这几件事做好了,后面几百个小时的Linux学习会顺畅得多。遇到问题不要急着重装,先journalctl -xe看一眼日志,再想想网络、仓库、权限这几层,大部分坑都能自己爬出来。