简介本资源是Red Hat RHCSARH134与RHCERH294认证考试的官方模拟环境配置说明文档专为Linux系统管理学习者、红帽认证备考人员及IT培训讲师设计解决实验环境搭建不清、账号权限混乱、快照恢复不明、考试流程不熟等实操痛点。文档以PDF格式呈现共1个文件大小398KB内容精炼但覆盖全面详细列出RH13430GB/6GB内存与RH29460GB/8GB内存双环境的硬件要求、四类主机角色foundation物理机、workstation操作端、servera-d被控端、bastion网关服务端、全链路账号密码体系root/Asimov、student/student、kiosk/redhat等并详解rht-vmctl启停、virt-manager Console登录、exam-setup/exam-grade模拟考试评分等关键指令。目前已有291人学习下载是快速复现RHEL 8.0标准培训环境、开展靶向练习与闭环自测的必备参考。1. RH134/RH294环境不是“装完就能练”的虚拟机套组而是一套带状态快照、角色分工、权限隔离的考试级实验沙盒很多人第一次点开 RH134 或 RH294 的百度网盘链接下完 30G/60G 镜像、解压、导入 VirtualBox/VMware看到 foundation 启动成功就以为“环境搭好了”——结果一跑lab start networking就报错exam-grade返回空结果servera连不上 bastion甚至 console 登录后发现/etc/yum.repos.d/里仓库全空。这不是你手速慢或配置错而是没看清这套环境的本质它根本不是普通 Linux 虚拟机集合而是一个预设角色链 状态快照驱动 权限收敛控制的闭环实验系统。foundation 不是“宿主机”它是调度中枢bastion 不是“随便配个代理”它是唯一可信源workstation 不是“你的终端”它是被严格限制的执行边界。RH134 对应 RHCSA 8.0 基础能力验证用户管理、存储挂载、防火墙策略、服务启停RH294 则叠加了 Ansible 自动化编排、容器基础、SELinux 策略调试、高可用集群等 RHCE 级实战场景。二者共用同一套底层架构但 RH294 多出 serverc/serverd 和三快照机制意味着你必须在“初始化→RHCSA→RHCE”之间主动切换状态否则 lab 命令会因依赖缺失直接失败。适合两类人正在系统备考 RHCSA/RHCE 的学员需按考纲节奏推进以及带实验课的某高校 Linux 系统管理课程导师需复现标准评分逻辑。这张地图的核心不是“怎么装”而是“谁在什么状态下能对谁做什么”。2. RH134 环境RHCSA 8.0 实验沙盒的四层角色与七类关键操作RH134 环境虽标称“基础”但其角色设计之严密、状态耦合之紧密在同类培训环境中实属少见。它不靠文档堆砌讲原理而是用物理隔离命令白名单服务预置把 RHCSA 考纲中 20 个核心技能点全部锚定到具体主机行为上。理解这四层角色关系是避免“命令能输、结果不对”的第一道门槛。2.1 四层角色定义foundation 是调度器不是宿主机很多初学者误把foundation当作普通 Linux 主机去改配置、装软件、调网络——这是 RH134 翻车率最高的起点。实际上foundation在整套环境里承担的是虚拟机生命周期控制器 统一认证网关 时间同步源三重角色而非你的操作终端。foundation物理机运行 KVM/QEMU通过rht-vmctl管理所有虚拟机启停、快照、console 访问。它不参与任何 RHCSA 实验任务如配置 httpd、管理 LVM只提供student账户登录入口和rht-vmctl命令。其 root 密码为Asimov但你几乎不需要用 root 登录它。workstation工作平台这是你日常操作的主控端。它预装了lab命令行工具、ansible、vim-enhanced、bash-completion等全套实验依赖。student用户密码为student该账户被严格限制不能sudo su -不能修改/etc/hosts不能卸载rht-lab包。所有lab start xxx操作都从此发起并自动向 servera/b 下发配置。servera / serverb被控服务器RHCSA 实验的靶机。它们无图形界面仅开放 SSH端口 22和 console 访问。root密码统一为redhatstudent密码也为redhat注意与 workstation 的 student 密码不同。二者角色有隐含分工servera 通常承担 Web 服务、NFS 服务等“对外提供能力”的角色serverb 更多用于测试客户端行为、防火墙策略验证、时间同步等“响应侧”任务。bastion网关系统这是整个环境的“信任根”。它不暴露公网 IP但作为内部网络的唯一出口提供本地 YUM 仓库http://bastion/content/rhel8/所有主机默认指向此源实验所需 RPM 包如httpd-manual、mariadb-server和配置模板/var/www/html/labfiles/DNS 解析服务bastion解析为172.25.254.254路由转发servera/b 通过 bastion 访问外网。提示bastion的root密码也是redhat但除非调试网络连通性否则不应登录 bastion 手动改配置。它的状态由rht-vmctl快照固化手动修改会导致后续lab check失败。2.2 七类关键操作从启动到排错的完整链路RH134 的操作流高度结构化每一步都对应考纲能力点。以下七类操作覆盖 95% 日常使用场景参数和路径不可省略2.2.1 启动全部虚拟机必须第一步[kioskfoundation0 ~]$ rht-vmctl start all # 输出应包含 # Starting foundation0 # Starting workstation # Starting servera # Starting serverb # Starting bastion此命令非systemctl start libvirtd而是 Red Hat 官方封装的调度脚本会校验磁盘空间、内存分配、KVM 模块加载状态。若报错ERROR: Not enough memory available说明你给 foundation 分配的内存 6G实际建议 8G需在虚拟机设置中调整。2.2.2 登录 servera/serverb 的两种方式SSH 方式推荐日常操作[studentworkstation ~]$ ssh studentservera # 密码 redhat [studentservera ~]$ sudo -i # 切换 root密码 redhatConsole 方式仅用于紧急恢复[kioskfoundation0 ~]$ virt-manager # 图形界面中双击 servera → View → Console # 或命令行 [kioskfoundation0 ~]$ virsh console servera # 按 Enter 触发 login prompt输入 root/redhat注意console 登录后若卡在login:无响应大概率是 servera 的getty服务未启动需在 foundation 上执行rht-vmctl reset servera强制重启。2.2.3 执行并验证实验lab 命令核心逻辑lab命令本质是 Python 脚本位于/usr/bin/lab它读取/usr/share/rht-lab/下的 YAML 描述文件自动完成“下发配置→启动服务→校验端口→检查文件内容”全流程。[studentworkstation ~]$ lab start networking # 启动 networking 实验配置 servera 的静态 IP、DNS、主机名 [studentworkstation ~]$ lab check networking # 校验检查 servera 的 /etc/sysconfig/network-scripts/ifcfg-eth0、hostname、/etc/resolv.conf [studentworkstation ~]$ lab finish networking # 清理还原 servera 网络配置至初始状态关键点lab start不等于“开始做题”而是“部署标准答案环境”lab check才是“自动批改”。若lab check失败不要手动改配置先lab finish再lab start重置。2.2.4 查看实验列表与帮助[studentworkstation ~]$ lab list # 列出所有可用实验名如 networking, storage, users [studentworkstation ~]$ lab info networking # 显示 networking 实验的目标、所需技能、检查项清单lab info输出中Verification steps部分即为考纲原文映射例如Verify that the hostname is set to servera.lab.example.com直接对应 RHCSA 考试 Task 1.1。2.2.5 重置单台主机比 reboot 更彻底当 servera 服务异常且lab finish无效时用rht-vmctl强制重置[kioskfoundation0 ~]$ rht-vmctl reset servera # 等效于关机 → 删除内存镜像 → 从磁盘快照重新加载 # 比 virsh destroy virsh start 更干净避免残留进程2.2.6 检查网络连通性跨主机通信黄金路径RHCSA 实验大量依赖主机间通信标准验证链为# 从 workstation 测试 [studentworkstation ~]$ ping -c 3 bastion # 必须通172.25.254.254 [studentworkstation ~]$ ping -c 3 servera # 必须通172.25.254.10 [studentworkstation ~]$ ssh studentservera # 必须免密或密码登录成功 # 从 servera 测试反向 [studentservera ~]$ curl -I http://bastion/content/rhel8/ # 应返回 HTTP/1.1 200 OK证明 YUM 仓库可达若ping bastion失败90% 是 workstation 的/etc/hosts被误改正确内容应含172.25.254.254 bastion.lab.example.com bastion2.2.7 修复 YUM 仓库最常触发的“环境失效”当dnf install httpd报错Failed to download metadata for repo baseos本质是 servera 无法访问 bastion 的仓库。修复步骤# 1. 确认 servera 能解析 bastion [studentservera ~]$ host bastion # 应返回 172.25.254.254 # 2. 检查仓库配置 [studentservera ~]$ cat /etc/yum.repos.d/rhel8.repo # 正确 baseurl 应为 # baseurlhttp://bastion/content/rhel8/BaseOS/ # 3. 清理缓存并重试 [studentservera ~]$ sudo dnf clean all [studentservera ~]$ sudo dnf makecache若host bastion失败需检查 servera 的/etc/resolv.conf是否指向172.25.254.254即 bastion 自身 DNS。2.3 易漏点RH134 环境中 5 个最易忽略却导致全盘失败的细节这些点在官方文档里往往一笔带过但实操中 80% 的“环境打不开”“lab 不生效”都源于此。它们不难但一旦漏掉后续所有操作都是徒劳。易漏点 1foundation 的内存分配不足 6G导致rht-vmctl start all静默失败→ 为什么漏VirtualBox/VMware 默认给新虚拟机分配 2G 内存而rht-vmctl启动时若检测到总内存 6G会跳过启动 servera/b/bastion只起 foundation 和 workstation且不报错。你看到 workstation 起来了就以为“环境好了”。→ 怎么补关机 → 进入虚拟机设置 → 将 foundation 内存调至 8G → 重启 foundation → 再执行rht-vmctl start all并观察输出是否包含全部五台主机。易漏点 2workstation 的/etc/hosts被手动修改破坏了lab命令的主机名解析→ 为什么漏lab脚本内部硬编码了servera.lab.example.com等 FQDN它不查 DNS而是直接读/etc/hosts。若你为调试删了bastion.lab.example.com行lab start apache会因无法解析 bastion 而卡住。→ 怎么补在 workstation 上执行sudo cp /usr/share/rht-lab/hosts /etc/hosts还原标准 hosts 文件该文件由 Red Hat 预置含全部 5 台主机映射。易漏点 3servera 的 SELinux 状态被意外禁用导致httpd无法绑定 80 端口→ 为什么漏RHCSA 考纲明确要求“SELinux 必须处于 enforcing 模式”但lab start apache不校验此状态。若你之前为调试执行过sudo setenforce 0后续curl http://servera会超时因为httpd进程被 SELinux 策略阻止绑定端口。→ 怎么补登录 servera执行sudo getenforce应返回Enforcing若为Permissive或Disabled执行sudo setenforce 1再sudo systemctl restart httpd。易漏点 4student用户在 workstation 上未用ssh-copy-id配置 servera 免密导致lab命令反复索要密码→ 为什么漏lab命令内部大量使用ssh studentservera执行远程命令若每次都要输密码不仅效率低某些实验如lab start ansible会因超时直接失败。官方不教这步但它是流畅实验的前提。→ 怎么补在 workstation 上执行[studentworkstation ~]$ ssh-keygen -t rsa -b 4096 -N -f ~/.ssh/id_rsa [studentworkstation ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub studentservera # 输入密码 redhat完成后即可无密码 ssh易漏点 5bastion的防火墙未放行 HTTP导致 workstation 无法下载实验包→ 为什么漏bastion 默认运行firewalld但其publiczone 未开放http服务。当你在 workstation 执行dnf install -y lab-extras时会因连接http://bastion/content/rhel8/超时而失败错误信息模糊显示Failed to synchronize cache for repo baseos让人误以为是 YUM 配置问题。→ 怎么补登录 bastionssh rootbastion密码 redhat执行[rootbastion ~]# firewall-cmd --permanent --add-servicehttp [rootbastion ~]# firewall-cmd --reload3. RH294 环境RHCE 8.0 的三快照机制与 Ansible 自动化实验链RH294 不是 RH134 的简单扩容版而是以“自动化驱动运维”为核心重构的实验体系。它引入 serverc/serverd 扩展被控节点规模更关键的是用三快照机制将 RHCSA 基础能力、RHCE 进阶能力、考试原始状态完全解耦。这意味着你不能再像 RH134 那样“一路练下去”而必须理解每个快照的语义边界——选错快照lab start ansible会因缺少 inventory 文件直接退出exam-grade会返回No tasks found。3.1 三快照语义初始化是“出厂设置”RHCSA 是“基础考场”RHCE 是“工程师沙盒”RH294 的foundation虚拟机内置三个 Libvirt 快照它们不是备份点而是能力基线声明。快照切换会重置所有虚拟机包括 workstation的磁盘状态但保留 foundation 的内存分配和网络配置。快照名触发命令主要特征适用场景initialrht-vmctl snapshot-revert initial所有主机为纯净 RHEL 8.0 安装状态无student用户、无lab命令、无预置仓库、无 Ansible 配置。bastion 仅提供基础路由。环境首次部署后校验遭遇严重损坏如误删/usr/bin/lab时回退导师重置教学环境。rhcsarht-vmctl snapshot-revert rhcsa等同于 RH134 环境已创建student用户、预装rht-lab、bastion 启用 YUM 仓库、workstation 配置好 SSH 免密。但无 serverc/serverdansible未配置 inventory。专注 RHCSA 考纲练习用户、存储、服务管理无需 Ansible 的纯系统管理实验。rhcerht-vmctl snapshot-revert rhceRH294 完整态serverc/serverd 已启动workstation 的/home/student/ansible/下预置inventory含 servera/b/c/d、playbooks/目录bastion 开放httpd服务供 playbook 下载文件ansible命令可直接运行。RHCE 考纲全部实验Ansible Playbook 编写、角色开发、容器基础、SELinux 故障排除模拟考试环境。提示rht-vmctl snapshot-revert命令必须在 foundation 的kiosk用户下执行且执行后需等待 60 秒让所有虚拟机完成磁盘状态同步再登录 workstation。切勿在 revert 过程中强制关闭虚拟机。3.2 RHCE 核心实验链从 Inventory 构建到 Playbook 评分的闭环RH294 的实验不再以单机服务为中心而是围绕 Ansible 自动化流水线展开。一个典型 RHCE 实验如lab start apache会驱动 workstation→servera/b/c/d 的完整协作其背后是预置的 YAML 文件和 Python 校验器。3.2.1 Inventory 结构四台服务器的角色分工workstation 的/home/student/ansible/inventory文件定义了被控节点分组这是所有 Ansible 实验的起点# /home/student/ansible/inventory [webservers] servera.lab.example.com serverb.lab.example.com [dbservers] serverc.lab.example.com [all:vars] ansible_userstudent ansible_passwordredhat ansible_ssh_common_args-o StrictHostKeyCheckingno关键点webservers组用于部署 Apache/Nginx 等 Web 服务dbservers组专用于 MariaDB/PostgreSQL 等数据库服务serverd未出现在任何组是预留的“故障注入点”如lab start troubleshooting会故意让 serverd 的sshd崩溃供你用ansible远程修复all:vars中的ansible_password是明文因 RH294 禁用 SSH 密钥认证避免学生绕过密码策略。3.2.2 Playbook 执行与校验以apache实验为例lab start apache实际执行流程下发 Playbook将/usr/share/rht-lab/playbooks/apache.yml复制到/home/student/ansible/playbooks/运行 Playbook[studentworkstation ~]$ cd ~/ansible [studentworkstation ansible]$ ansible-playbook playbooks/apache.yml # 该 Playbook 会 # - 在 webservers 组安装 httpd、启动服务、启用开机自启 # - 复制预置的 index.html 到 /var/www/html/ # - 配置 firewall 允许 http 服务自动校验lab check apache会在 workstation 上curl http://servera检查返回码SSH 到 servera 执行sudo systemctl is-active httpd检查 servera 的/var/www/html/index.html内容是否匹配预期哈希值。若校验失败lab finish apache会运行/usr/share/rht-lab/playbooks/apache-finish.yml彻底清理包括卸载httpd、删除/var/www/html/、重置 firewall。3.2.3 容器实验Podman 替代 Docker 的 RHCE 新考点RH294 8.0 已全面弃用 Docker改用 Podman无守护进程、rootless 支持。相关实验如lab start containers要求在 servera 上以student用户运行容器非 root[studentservera ~]$ podman run -d --name web -p 8080:80 nginx:latest # 注意无需 sudo且 -p 参数需指定 host:container 端口映射验证容器网络curl http://localhost:8080必须返回 Nginx 欢迎页持久化容器podman commit web myweb创建新镜像推送至 bastion 的本地 registrypodman push myweb localhost:5000/myweb。提示servera 的/etc/containers/registries.conf已预置localhost:5000为 insecure registry无需额外配置。3.2.4 SELinux 故障排除实验从setroubleshoot到audit2whyRHCE 考纲新增 SELinux 深度调试lab start selinux会故意禁用httpd_can_network_connect布尔值导致httpd无法反向代理。标准排错链# 1. 查看拒绝日志 [studentservera ~]$ sudo ausearch -m avc -ts recent | audit2why # 2. 生成修复策略 [studentservera ~]$ sudo ausearch -m avc -ts recent | audit2allow -M myhttpd # 3. 加载策略模块 [studentservera ~]$ sudo semodule -i myhttpd.pp # 4. 临时启用布尔值考试允许 [studentservera ~]$ sudo setsebool -P httpd_can_network_connect onaudit2why输出会明确告知“httpd needs network connect permission to work as reverse proxy”直指考纲能力点。3.3 易错点RH294 中 4 个 Ansible 相关的“玄学失败”及定位方法RH294 的 Ansible 实验失败80% 不是语法错而是环境状态错。这些错误现象诡异如ansible-playbook无输出、lab check返回skipped根源却极简单。易错点 1lab start后ansible-playbook报错ERROR! the file_name.yml does not exist→ 为什么错lab start命令会将 Playbook 复制到~/ansible/playbooks/但若你之前手动删过该目录或lab finish未清干净lab start不会重建空目录。ansible-playbook默认在当前目录找文件而你可能在~下执行。→ 怎么查执行ls -l ~/ansible/playbooks/确认apache.yml存在若为空手动执行cp /usr/share/rht-lab/playbooks/apache.yml ~/ansible/playbooks/。易错点 2ansible-playbook执行时卡在GATHERING FACTS10 分钟无响应→ 为什么错workstation 的/etc/ansible/ansible.cfg中fact_caching_timeout 8640024 小时但 servera 的python3-libselinux包损坏导致setup模块无法收集 facts。Ansible 会无限重试。→ 怎么查在 workstation 上加-vvv参数运行ansible-playbook -vvv playbooks/apache.yml # 观察最后一条日志是否为 FAILED! {msg: The module failed to execute correctly} # 若是登录 servera 执行 python3 -c import selinux; print(selinux.is_selinux_enabled())若报错 ImportError说明包损坏。 → 怎么补在 servera 上执行 sudo dnf reinstall python3-libselinux -y。 #### 易错点 3lab check 返回 TASK [Check if httpd is running] skipped: true但服务明明在运行 → 为什么错lab check 脚本内部使用 ansible 命令调用 service_facts 模块但若 workstation 的 /etc/ansible/hosts 文件存在非 inventoryansible 会优先读它而非 ~/ansible/inventory而 /etc/ansible/hosts 是空的导致 service_facts 无目标主机。 → 怎么查执行 ls -l /etc/ansible/hosts若存在则立即删除sudo rm /etc/ansible/hosts。RH294 要求所有实验必须用 ~/ansible/inventory。 #### 易错点 4podman run 报错 Error: unable to find slirp4netns容器无法启动 → 为什么错slirp4netns 是 Podman rootless 模式的网络后端RH294 的 servera 预装了它但若你用 sudo 运行 podman会切换到 root namespace而 root 下未安装 slirp4netns。 → 怎么查执行 which slirp4netns若返回空则说明 root 用户未安装执行 podman info | grep -A 5 network 查看当前网络驱动。 → 怎么补**永远不要用 sudo 运行 podman**。确保以 student 用户执行且 id -u 返回 1000。若仍报错执行 sudo dnf install -y slirp4netns为 root 安装但不推荐。 ## 4. 模拟考试系统exam-setup 与 exam-grade 的黑匣子逻辑拆解 RH134/RH294 的终极价值不在日常练习而在无限次模拟考试。exam-setup 和 exam-grade 这两个命令看似简单实则是 Red Hat 官方评分引擎的前端封装其内部逻辑决定了你能否真实还原考试体验。理解它们等于拿到 RHCSA/RHCE 考试的“阅卷标准”。 ### 4.1 exam-setup不是初始化环境而是加载考题约束集 exam-setup 命令绝非 rht-vmctl reset 的别名。它在 foundation 的 kiosk 用户下执行作用是**将当前快照状态映射为考试题目集并注入评分规则**。其执行过程分为三阶段 #### 阶段 1快照绑定与题目加载 - 若当前为 rhce 快照exam-setup 会从 /usr/share/rht-lab/exams/rhce/ 加载 20 道 RHCE 题目描述YAML 格式 - 若为 rhcsa 快照则加载 /usr/share/rht-lab/exams/rhcsa/ 下的 15 道 RHCSA 题目 - 题目文件名即为 lab 命令名如 users.yml 对应 lab start users内容含 task_id、description、verification_steps。 #### 阶段 2环境预检与约束注入 exam-setup 会静默运行一系列预检 - 检查 workstation 的 /home/student/ansible/ 是否存在RHCE 必需 - 检查 servera 的 /etc/httpd/conf.d/ 是否为空确保无残留配置干扰 - 检查 bastion 的 httpd 服务是否运行提供考题附件下载 - 若任一检查失败exam-setup 会输出 WARNING: Bastion httpd not running. Exam may fail. 并继续但后续 exam-grade 可能因无法下载附件而跳过部分题目。 #### 阶段 3生成动态 inventoryRHCE 专属 对 RHCE 考试exam-setup 会重写 /home/student/ansible/inventory添加考试专用变量 ini [webservers] servera.lab.example.com ansible_host172.25.254.10 [all:vars] exam_modetrue exam_start_time1712345678exam_modetrue是关键开关它告诉所有lab命令本次运行需启用考试模式如禁用lab finish、记录操作时间戳、限制重试次数。4.2exam-grade评分引擎的三层校验与失败归因exam-grade是真正的“阅卷官”它不看你lab start是否成功而只校验最终状态。其评分逻辑分三层每层失败都会给出精准归因这是你查漏补缺的黄金线索。层级 1基础连通性校验5% 分值ping -c 3 servera、ping -c 3 bastion必须全通ssh -o ConnectTimeout5 studentservera必须在 5 秒内建立连接若失败输出CRITICAL: Network connectivity to servera failed直接扣 5 分不进入后续校验。层级 2服务状态与配置校验70% 分值对每道题目如usersexam-grade执行预定义的 Python 校验器# /usr/share/rht-lab/exams/rhcsa/users.py def verify(): # 检查用户是否存在 result subprocess.run([id, alice], capture_outputTrue) if result.returncode ! 0: return False, User alice not found # 检查用户家目录权限 stat os.stat(/home/alice) if stat.st_mode 0o777 ! 0o700: return False, Home directory permissions incorrect return True, OKexam-grade会捕获return False的字符串直接输出为失败原因如FAIL: User alice not found。层级 3Ansible Playbook 执行结果校验RHCE 专属25% 分值对 RHCE 题目exam-grade会以student用户执行ansible-playbook /home/student/ansible/playbooks/exam-users.yml检查 Playbook 的PLAY RECAP中servera行的failed0、changed1若failed0提取stderr中第一行错误如fatal: [servera]: FAILED! {\msg\: \user alice not found\}精简为FAIL: user alice not found。提示exam-grade输出中SKIPPED表示该题目未被触发如你未运行lab start usersFAILED表示校验失败OK表示通过。分数按题目权重累加满分 100。4.3 模拟考试实操从登录到交卷的完整流程附避坑清单一次标准模拟考试需严格遵循以下流程任何跳步都会导致exam-grade无法识别你的答案。步骤 1选择快照并启动# 在 foundation 的 kiosk 用户下 [kioskfoundation0 ~]$ rht-vmctl snapshot-revert rhce # 选 RHCE 考试 [kioskfoundation0 ~]$ rht-vmctl start all # 等待 90 秒确认所有主机启动完成步骤 2登录并运行 exam-setup# 在 workstation 的 student 用户下 [studentworkstation ~]$ ssh kioskfoundation0 # 密码 redhat [kioskfoundation0 ~]$ exam-setup # 输出应含 Exam setup complete. You may now begin.步骤 3逐题执行 lab关键必须用 student 用户# 切回 workstation 的 student 用户不要在 foundation 上操作 [studentworkstation ~]$ lab start users [studentworkstation ~]$ lab start storage [studentworkstation ~]$ lab start apache # 每题完成后用 lab check 验证但不要 lab finish考试中不允许清理步骤 4运行 exam-grade 交卷# p a hrefhttps://download.csdn.net/download/m0_69309069/86840894 stylecolor:#ec7500;font-size:14px; 本文还有配套的精品资源点击获取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p