第一次作业就撞上 RHEL9,算是很多入门 Linux 的朋友迎头碰上的第一堵墙。当时的课程要求是“完成 RHEL 9 系统的安装,并能够进行基础使用”,听起来简单,真操作起来才发现从镜像下载到敲出第一个命令,中间全是坑。这篇文章就把我那次的完整过程复盘一遍,包括为什么选 RHEL9、怎么准备安装环境、安装时每一步怎么选,以及装完之后立刻要做的那几件事。如果你是刚接触 Linux、或者正准备做类似作业的新手,这篇应该能帮你少走不少弯路。
1. 为什么是 RHEL9:一门作业背后的真实选择
1.1 这门作业到底在考什么
现在回头来看,老师安排“安装 RHEL9”这件事,背后其实藏着一整套意图。很多第一次接触 Linux 的人会先入为主地觉得 Linux 都是免费的,随便找个 Ubuntu 装一下不就行了,为什么要专门选一个“企业版”?但 RHEL9(Red Hat Enterprise Linux 9)恰恰是 Linux 世界里最有代表性的商业发行版之一,它服务的是银行、运营商、政企数据中心的真实生产环境,稳定性、安全性和生态支持都是经过了大量实战验证的。
RHEL9 在 2022 年 5 月发布,基于 Fedora 34/35 分支策略调整而来,默认内核是 5.14,默认文件系统是 XFS,包管理器延续了 dnf。这批技术栈和当前大多数企业生产环境的现状是高度一致的。所以这道作业表面上是“装一个系统”,实际上是在逼着你提前适应企业级 Linux 的工作方式:怎么获取镜像、怎么做系统分区、怎么配置软件源、怎么用 dnf 管理软件包、怎么通过订阅机制获得支持。这些技能在以后做运维、做开发环境搭建、做上云部署的时候全都用得上。
装系统的过程同时也是在建立一种排查问题的思维:安装器卡住了、源连不上、IP 没配好、服务起不来……每一步都是以后工作的缩影。把这门作业当成一次完整的“企业级系统交付演练”来对待,收获会完全不一样。
1.2 RHEL9 与 CentOS Stream 的那些渊源
这里顺带说一个很多人都会卡住的点:搜索“RHEL9”的时候,会出现一堆“CentOS Stream 9”的下载链接,很多人会困惑这两者到底什么关系。
简单来说,RHEL9 是红帽的商业发行版,代码不免费开放,但可以通过订阅获得完整的使用权和技术支持。CentOS Stream 则是 RHEL 上游的“滚动预览版”,定位介于 Fedora 和 RHEL 之间,你可以把它理解为“RHEL 候选版的公开预览通道”。以前大家习惯用的 CentOS Linux 8 在 2021 年 12 月就停止维护了,红帽的策略已经明确转向 CentOS Stream。如果作业题目明确要求 RHEL9,那就老老实实装 RHEL9;如果只是朋友想体验企业级操作系统的手感,CentOS Stream 9 也可以作为替代练习项,但两者在使用体验上还是有不少差别的,不要混为一谈。
1.3 没有订阅怎么办:开发者订阅是唯一的正道
RHEL9 最劝退新人的一点就是“要钱”。红帽的订阅体系确实吓跑了一堆学生,很多人转头就去搞“免费版”,或者去一些来路不明的地方下载所谓“破解版”ISO。这里我直接说结论:正经学习完全没必要这么做。红帽官方有一个“Red Hat Developer Subscription for Individuals”计划,针对个人开发者免费开放,注册一个红帽账号就能用,一个账号最多可以绑定 16 台系统,对学习、做作业、开发测试来说绰绰有余。
申请流程大概是这样:先访问红帽开发者网站(developers.redhat.com),注册一个账号,登录后进入 RHEL 下载页面,选择 RHEL 9.x 版本,就能下载到官方的 ISO 镜像。拿到镜像之后,安装系统的过程中会有一个“订阅”环节,这一步可以先跳过,装完系统之后再通过subscription-manager命令登录账号完成注册。整个过程不需要信用卡,不需要企业资质,一个学校邮箱甚至普通邮箱都能搞定。这也是我认为最“正规”的一条路,后续做dnf更新、装软件、加扩展源都不受限制。
2. 安装前的准备:把这些坑提前排掉
2.1 虚拟机还是物理机:第一次作业最稳妥的路线
初次安装 RHEL9,强烈建议用虚拟机,不要直接往物理机上装。原因很现实:RHEL9 默认的安装流程会格式化整块磁盘,如果是在自己的电脑上装,稍有不慎就把原来的 Windows 或其他系统冲掉了;而且物理机上的驱动兼容性(尤其是笔记本的无线网卡、独立显卡)在 RHEL9 上经常出问题,一个新手折腾到半夜可能连图形界面都进不去。
虚拟机软件的选择,我个人的排序是这样的:
| 虚拟机平台 | 优势 | 适合人群 |
|---|---|---|
| VMware Workstation Pro | 兼容性最好,快照功能最完善,安装 RHEL9 基本零障碍 | 推荐首选 |
| VirtualBox | 免费开源,配置简单,跨平台 | 硬件配置较低、不想折腾时用 |
| KVM(Linux 宿主机) | 性能损耗最低,原生支持 Linux | 宿主机本身就是 Linux、且有一定基础的人 |
我用的是 VMware Workstation Pro。实际体验下来,它对 RHEL 系列的支持非常顺畅,安装过程不需要手动调什么特殊参数,装完以后虚拟机的网络、显卡、磁盘驱动都能被系统正确识别。这一点在第一次做作业时太重要了——你不需要在同一时间处理“系统安装”和“驱动兼容性”两个问题。
虚拟机创建时的关键参数我建议这样给:
- CPU:2 核(如果电脑配置好可以给 4 核)
- 内存:4 GB(RHEL9 官方最低要求是 2 GB,但实际使用中 4 GB 才能保证后续安装软件、跑服务的流畅度)
- 磁盘:60 GB(虚拟磁盘会按需占用宿主机空间,不用怕浪费)
- 网络:NAT 模式(后面细说)
- 光驱:加载 RHEL9 的 ISO 镜像
这里有个细节值得多说两句:网络模式不要一上来就选桥接模式。NAT 模式下,虚拟机会通过宿主机共享 IP 上网,宿主机能联网,虚拟机就能联网,不需要额外配置路由器或交换机;而桥接模式会让虚拟机直接暴露在局域网中,如果校园网或家用路由分配 IP 的规则比较严格,反而容易掉链子。第一次作业阶段,能少一个变量就少一个变量。
2.2 镜像下载与校验
镜像下载这里也能踩坑。红帽开发者页面提供的下载文件通常有两种:RHEL-9.x-x86_64-dvd.iso和RHEL-9.x-x86_64-boot.iso。DVD 版大约 8-9 GB,包含完整的软件包仓库,安装时可以直接从镜像里装基础软件;boot 版只有几百 MB,只是一个引导安装程序,实际的软件包需要从网络源获取。第一次做作业,直接下载 DVD 版就对了。boot 版对新手来说意味着又多了一道网络配置的关卡——万一源连不上,装到一半卡住,心态直接崩了。
下载完之后顺便做一下校验。红帽网站会在下载列表旁边提供一个 SHA256 校验值,把 ISO 下载到本地之后,用系统自带的校验工具比对一下:
- Windows 上用 PowerShell:
Get-FileHash 文件路径 -Algorithm SHA256 - Linux/macOS 终端:
sha256sum RHEL-9.x-x86_64-dvd.iso
校验值一致就放心用,不一致说明下载过程文件损坏,要么重新下载,要么换网络环境再试。这一步很多人嫌麻烦会跳过,但真碰上一次“安装到一半提示文件缺失”的怪问题,你就会后悔当初为什么没有做校验。
2.3 安装过程中的环境预检
再提醒一点:如果电脑本身配置比较老,内存只有 8 GB 或 16 GB,创建虚拟机的时候不要同时开太多其他大型软件(比如浏览器几十个标签页、IDEA、QQ全套挂满),否则虚拟机刚启动就可能因为宿主机内存不足而极卡,安装界面点了没反应。我当时就是开了太多东西,虚拟机里点“下一步”要等半分钟,还以为是出了问题,浪费了半小时排查。
另外,装系统是需要一段时间专注操作的,尽量选一个网络稳定、电源插着、时间充裕的时间段来做这件事。安装大约需要 20-40 分钟,如果中途需要反复重试,时间会更长。
3. 安装全流程实录:从开机到登录
3.1 引导安装程序与关键设置
VMware 虚拟机开机后,光驱引导进入 RHEL9 安装界面。第一个界面是 GRUB 菜单,直接选第一项“Install Red Hat Enterprise Linux 9.x”回车就可以了,没什么悬念。
接下来进入安装程序的初始界面。RHEL9 的安装器是 Anaconda,和业界很多 Linux 发行版同源。第一屏会让你选择安装界面语言。这里我要说一个可能比较有争议的个人经验:安装界面尽量选 English(United States),而不是中文。原因主要有两个,一是 RHEL9 的绝大多数文档、报错信息、网上技术讨论都是以英文为主,安装界面保持英文可以提前适应这种环境;二是中文环境下某些编码相关的系统性小问题(比如日志里的中文乱码)在刚上手时容易造成误判。当然,装完之后系统里照样可以安装中文字体和中文字符集支持,日常使用不受影响。这只是一个减少变量的小策略,不是硬性规定。
安装界面上需要重点设置的有这么几项:安装目的地(Installation Destination)、软件选择(Software Selection)、根密码(Root Password)和用户创建(User Creation)。我们逐一来看。
3.2 磁盘分区与软件包选择:理解之后再下手
点击“Installation Destination”,选择虚拟磁盘默认的 60 GB 空间,然后选择“Automatically configure partitioning”还是“Manually configure partition”。如果你是完全新手,第一遍直接选自动分区就好了,RHEL9 会自动按照默认规则创建 LVM 逻辑卷(根卷、交换分区等),不会出现“分区表写坏了导致系统装不上”的局面。但如果你不满足于“装完就好”,想搞明白系统到底怎么分配磁盘空间,手动分区这一关是迟早要过的。
手动分区时,RHEL9 默认推荐以下几个挂载点:
/boot:建议 1 GB,存放内核和引导文件。/(根分区):给 30 GB 左右,系统文件、软件、日志都占这里。 保底留一点剩余空间给以后扩展 LVM 卷。swap:建议 2-4 GB,虚拟内存交换分区。内存 4 GB 的虚拟机给 2 GB 就行。
这里要理解一个概念:RHEL9 默认用 LVM(逻辑卷管理)而不是直接对硬盘分区。打个比方,传统分区就像是把一块地切成好几块固定大小的地块,每块地有明确的边界,之后想要调整大小就得重新切;而 LVM 相当于一个“弹性地库”,多块物理硬盘的空间可以划成一个大的虚拟存储池,然后在这个池子里动态分配空间给不同的“逻辑卷”,用完了可以随时扩。RHEL9 自动分区方案默认就是走 LVM 路线,这个设计很值得体会一下,以后做服务器存储规划时用得格外多。
再说软件选择(Software Selection)。这是第一次作业里最容易纠结的一项。RHEL9 把安装模式分成“图形界面”和“最小安装”两大类,细分还包括“带 GUI 的服务器”“工作站”“虚拟化主机”“最小安装”等。我当时的作业要求是“安装并使用”,老师没有强行要求有无图形界面,但我在决定之前反复权衡:
- 选“Server with GUI”,好处是进去之后有桌面,操作直观,适合没碰过 Linux 的新手;但缺点是最小安装模式下更贴近真实服务器的运维场景,而且命令行用熟了,图形界面基本是多余的。
- 选“Minimal Install”(最小安装),系统只带一个字符终端和一些基础底层工具,所有操作都得敲命令。刚进去的体验确实“劝退”,但恰恰是这样才能逼着自己去学那些最基本也最核心的命令。
我最后选了 Minimal Install,额外勾选了“Standard”这一项的基础软件包,并计划装完之后通过dnf再补充需要的工具。如果你也对命令行完全没有概念,建议第一次装的时候用带图形界面(Server with GUI)的模式,先把系统跑起来、能打开终端输入命令,再逐步脱离界面也不迟。
3.3 网络配置、root 密码与用户创建
网络配置这里要单独强调一下,因为在安装界面里有一个“Network & Host Name”的选项,很多人会忽略它。系统装完之后能不能上网、能不能注册订阅、能不能用 dnf 装软件,完全取决于这一步。我建议在安装界面就把网络开关打开(右上角的开关状态从 OFF 切到 ON),然后把主机名改成一个好识别的名字,比如rhel9-lab。NAT 模式下,虚拟网卡默认会通过 DHCP 自动获取 IP 地址,所以这一步只要把开关打开就成功了一大半。
Root 密码的设置规则是:至少 8 个字符,同时包含数字、字母和特殊符号。安安装界面会直接拒绝“123456”这种弱口令。这里分享一个实用的思路,不要用生日、手机号这种纯数字组合,可以挑一个自己容易记住的句子,比如I-love-Linux-2024这种带大小写、数字和符号的形式。密码是第一次用系统时除了 root 用户之外最重要的入场券,建议顺手存在密码管理器里。
用户创建界面会提醒你创建一个普通用户。这一步尽量按要求做,因为以后日常操作不应该用 root 身份横冲直撞。创建时可以勾选“Make this user administrator”(将此用户设为管理员),这会把该用户加入wheel组,之后使用sudo命令时就有管理员权限了。不要小看这个细节,很多作业后期要装软件、改系统文件,没有sudo权限你就寸步难行。
3.4 安装完成后的第一眼:命令行的世界
点击“Begin Installation”之后,安装程序开始往磁盘写入系统,这个过程大概 10-20 分钟不等,取决于虚拟机的 CPU、内存和磁盘速度。安装完成后重启,你会看到一个完全不同的世界。
如果你是 Minimal Install,重启后看到的是一个字符登录界面,提示输入登录用户名和密码。这里有个很容易忽略的细节:Linux 命令行终端里输入密码时屏幕不会显示任何字符,既没有星号也没有光标闪烁。别以为是键盘坏了,直接输完回车就行。我当时第一次在字符终端登录,盯着黑屏愣了几秒,还以为密码输不进去。
登录成功后,你会看到类似[user@rhel9-lab ~]$的前缀提示符,然后就是一个$光标等着你输命令。这时可以先敲几个最基本的命令感受一下:
pwd:查看当前目录whoami:确认当前登录用户ip addr:查看网卡和 IP 地址
如果你选择的是带图形界面的模式,重启之后会进入图形登录界面,点击自己的用户名、输入密码即可进入桌面,然后在“活动”界面里搜索并打开 Terminal 终端。殊途同归,命令行的世界都在等你。
4. 首次启动后的三件事:订阅、更新与基础配置
4.1 注册订阅与激活系统
系统安装完成并成功登录,第一件正事就是注册订阅。没有订阅的 RHEL9 虽然能临时使用,但无法从官方软件源更新或安装软件,安装软件包时会出现一堆报错。用根账号登录后执行:
subscription-manager register --username 你的红帽账号这里要求输入的“红帽账号”就是你前面在开发者网站注册时的用户名。执行过程中会提示输入密码,同样不回显,不要慌。注册成功后再执行:
subscription-manager attach --auto这一步会自动把当前系统匹配到可用的订阅。完成后用subscription-manager list验证订阅状态,如果能看到Status: Subscribed这样的返回,就说明订阅激活成功了。如果注册时一直提示网络连接失败,多半是安装时网卡没有打开导致的,先用ip addr检查一下是否有 IP 地址,没有的话用nmcli把网卡启动一下。
nmcli device nmcli device connect ens160如果是手动配置 IP 的场景,可以用nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.x.x/24 ipv4.gateway 192.168.x.1这类命令来配置。新人不要求背下来,但要能看懂这条命令在做什么。
4.2 让源真正可用:dnf 更新与常用工具
订阅激活之后,整个系统的软件源就通了,接下来就可以使用dnf命令安装软件了。RHEL9 默认的包管理器就是dnf,这个命令的操作逻辑和 yum 非常像,很多教程里讲的 yum 命令在 RHEL9 上也可以直接用(实际是 yum4 底层调用 dnf)。
第一次登录的时候,系统可能是几个月甚至更早的软件版本快照。反映到实际操作中,建议第一步就是更新软件源缓存并升级现有软件包:
dnf update这条命令会从红帽的 CDN 下载软件包元数据和更新信息,执行时间看网络情况,一般几分钟到十几分钟。期间会询问是否导入 GPG 密钥、是否确认安装,一路输入y即可。这里要说一个大家在第一次执行更新时普遍担心的点:dnf update会不会把系统搞挂?正常情况下不会,RHEL9 对软件包的依赖校验非常严格,但如果是生产环境,更新前一定先看更新说明。做作业阶段把系统保持最新是好事。
更新完成后,强烈建议立刻补装几个真正的基础工具。RHEL9 Minimal 安装模式真的是“极简”,我第一眼连ifconfig都找不到,vim、wget这些全都没有。补齐命令如下:
dnf install -y vim wget lsof net-tools tar zip unzip为什么提这些?net-tools提供ifconfig、netstat等命令,很多参考文档还用它来排查网络;vim是改配置文件的最基本编辑器;lsof用来查看进程打开的文件,排查占用问题神器。如果后面要在系统上开发,还可以再装组包:
dnf groupinstall -y "Development Tools"这一步会拉来 gcc、make 等编译链,以后手工编译软件就方便了。
很多人会习惯性地想去改国内镜像源。这里特别提醒:RHEL9 在订阅激活后,软件源本身是红帽的 CDN 节点,国内访问速度通常是可以接受的。而且系统自带的源文件里带了基于地理位置自动选择节点的逻辑,不建议像以前 CentOS 那样手动改成阿里云或清华源,那样反而会破坏红帽的支持体系,以后系统出问题官方支持无法理清环境。RHEL9 和免费版 Linux 的软件源维护思路有本质区别,这一点要拎清。
4.3 给系统拍一张快照:虚拟机场景的高级操作
刚装完系统、系统状态最干净的时候,我强烈建议做一件事:给虚拟机拍一张快照。
VMware Workstation 里,虚拟机菜单下找到“快照”/“拍摄快照”,给这个状态取一个名字,比如“刚装好的干净系统”。快照是什么?你可以把它想象成游戏里的“存档”。虚拟机当前整个磁盘状态都会被记录保存下来,之后无论你在系统里做什么操作——把系统文件搞乱、删了某个关键的依赖库、配置改坏了导致系统起不来,都可以通过恢复快照,把系统瞬间还原到存档时的状态,不用重新装系统。
这个操作在第一次作业里非常救命。我当时安装完系统、配置完订阅之后,立刻拍了快照。后面测试防火墙规则的时候,一个不留神把 sshd 服务对应的端口配置写错,导致怎么也登录不上系统,焦头烂额了十分钟,突然想起有快照,一键恢复,系统回到五分钟前,损失为零。养成这种习惯,以后做任何实验前都会先想“我可不可以先保存一个现场”。
快照机制本身也是虚拟机技术相对物理机的核心优势之一。做实验、做运维演练、测试新配置,先把当前状态“冻结”下来,大胆去折腾,大不了回档,这能省下大量时间成本。
5. 作业中的常见翻车现场与排查心得
5.1 命令找不到、服务起不来
第一次作业最常见的报错就是:敲了一个命令,系统回你“command not found”。这其实是最简洁、也最不吓人的报错。它只说明这一条命令对应的软件包没有安装。比如ifconfig找不到,就用dnf install net-tools;wget找不到,就dnf install wget。遇到这个报错不要慌,顺着“什么命令缺失 → 哪个包提供这条命令 → dnf 安装”这条线走就对了。如果实在不知道命令是哪个包的,可以用dnf provides 命令名反查来源。
比起 command not found,更让人挠头的是“服务起不来”。比如你找了一个教程说要安装并启动一个 Web 服务,你执行了安装和启动命令,结果系统没有任何输出,你也不知道是成功了还是没有。这里有一个标准排障三连:
systemctl status 服务名 systemctl list-units --failed journalctl -xesystemctl status会告诉你服务的当前状态(active、failed、dead)以及最近几行日志;list-units --failed会列出所有失败的系统单元;journalctl -xe则是查看系统日志的最近错误信息。一个顺着排下来,第一手的线索就能抓在手里。
5.2 SELinux 导致的 Permission denied
在 RHEL9 上,很多第一次接触的人会在服务配置过程中碰上“明明权限给了 777,配置文件也改了,服务就是起不来”的怪现象。这时候十有八九是 SELinux 在作祟。
RHEL9 默认开启 SELinux,而且是 Enforcing 模式。SELinux 的本质可以理解成一套“官方给核弹上了锁的额外安保系统”——不管你是 root 还是普通用户,都得走它的一套标签规则。比如你把一个网站目录放在了/home下面,WEB 服务那个进程在没有正确策略的情况下就是读取不了这个目录的文件。这时用以下命令确认状态:
getenforce如果返回Enforcing,再配合ausearch -m avc -ts recent查看最近被拒绝的访问记录,就能定位到到底是哪条 SELinux 策略拦截了。调试阶段可以用setenforce 0临时把 SELinux 切换成 Permissive 模式,验证是不是它的锅。一旦确认,但是正确做法是调整文件的 SELinux 上下文类型,而不是关闭 SELinux。用chcon或restorecon把文件标签改到正确类型,比如restorecon -Rv /home可以修复目录下文件的默认标签。SELinux 是 RHEL 系发行版的一大特色,也是一大保护机制,生产环境中几乎每个人的目标都是让 SELinux 保持开启,而不是为了省事直接对它关闭。
5.3 网络、中文与终端问题
我在做作业过程中还碰上了几个“不那么吭声但很磨人”的问题:
- 网络不通但没报错。明明 NAT 模式,虚拟机里就是 ping 不通外网。排查顺序是:先
ip addr看网卡有没有 IP;再ping 网关,确认宿主机到虚拟机的网络通路;再ping 域名,区分是网络问题还是 DNS 问题。如果ping 8.8.8.8通、ping www.baidu.com不通,就查/etc/resolv.conf里的 DNS 配置,或者用nmcli connection modify ens160 ipv4.dns 8.8.8.8设置 DNS。 - 中文乱码问题。Minimal 安装默认只带英语语言包,如果需要在字符终端显示中文,需要先安装语言包:
dnf install glibc-langpack-zh,再使用localectl set-locale LANG=zh_CN.UTF-8切换。不然直接改 locale 只会看到一屏幕问号。
终端容易误触的问题也值得提一句:在命令行里一旦按了Ctrl+C,正在执行的命令会被强制中断(比如正在下载的dnf update),收到^C提示。这本身不是故障,但如果中断的是安装事务,可能会导致软件包状态不一致,重启再用dnf check或dnf update --refresh修复即可。
5.4 虚拟机增强工具的正确姿势
在 VMware 里装完 Linux 后,很多人的第一反应是“装 VMware Tools”。这其实是旧时代的习惯。在 RHEL9 上,正确的做法是直接用 Open VM Tools,这是红帽官方推荐的 VMware 虚拟机增强驱动,包含在默认软件源里:
dnf install -y open-vm-tools systemctl enable --now vmtoolsd装好之后,虚拟机的剪贴板共享、鼠标平滑切换、窗口自适应这些体验都会正常了,而且这些工具会跟随系统源更新,不用像老式 VMware Tools 那样每升级一次内核就重装一次。如果是 KVM 虚拟机,对应装qemu-guest-agent。判断该装哪个很简单:VMware 平台装 open-vm-tools,KVM/qemu 平台装 qemu-guest-agent。
5.5 问题速查表
| 现象 | 优先排查 | 解决路线 |
|---|---|---|
| 安装界面语言显示异常 | 安装时语言包缺失 | 重新选择语言或跳过,装完切 locale |
| 无法联网 | 网卡状态、IP 获取 | nmcli device看连接状态,ip addr看 IP |
| 无法注册订阅 | 网络不通/账号错误 | 先排查网络,再确认红帽账号可登录 |
| dnf 安装报错 | 软件源状态 | subscription-manager status确认订阅正常 |
| 服务起不来 | 配置有误/SELinux | systemctl status+journalctl -xe定位日志 |
| 命令找不到 | 对应包未安装 | dnf provides 命令名反查所属软件包 |
| 中文输入/显示混乱 | locale 语言包缺失 | dnf install glibc-langpack-zh然后切换 locale |
| 虚拟机关机后无法启动 | 磁盘空间不足/快照占用 | 检查 VMware 虚拟磁盘所在分区的宿主空间 |
这个速查表并不是标准答案,但它覆盖了第一次接触 RHEL9 时极高频的那批问题。每排查一个问题,都是在训练一种“看现象、找根因”的系统思维,这会比死背命令更有价值。
6. 第一次作业之后的思考
整趟操作下来,“RHEL9 的安装与使用”这门作业给我带来的最大收获并不是学会了安装一个系统,而是养成了一份“电子实验记录”的习惯:把每一步执行过的命令和输出都记录下来,后面出了问题可以回溯自己当时做了什么,而不是对着黑屏干瞪眼。
一个非常实用的小技巧:在系统上用history命令可以回顾当前用户这次登录后敲过的所有命令,用!编号可以快速重复执行某一条历史命令。如果你把历史命令习惯性地输出到文件里,比如history > ./cmd-log.txt,那就是一份天然的实验笔记。我在后续几次课程作业里都是靠这个文件快速还原实验步骤的,省下了大量重新查阅“当时是怎么做到”的时间。
另外,其实在安装过程中遗漏了任何步骤,也不用怕。快照在手、历史命令有记录、订阅注册完成,这套“可复原、可追踪、可重做”的机制,才是这门课真正想让你学会的东西。至少对我来说,第一次在字符终端里敲下dnf update等待进度条跑完的时候,我对“企业级 Linux”的陌生感和敬畏心就已经消掉了一大半。剩下的路,无非就是多敲命令、多踩坑、再把每一个踩过的坑都变成自己的经验。