LabHub
学习 学习路径 课程

闭网环境的 GPU 驱动搬入与安装

用离线仓库安装

在 LabHub 中继续学习

目标

用导入的 .deb bundle 建立仓库并安装驱动,先确认仅凭第一批导入内容无法安装 toolkit,再加入第二批导入内容完成安装。整个过程与实际隔离网络中的操作一致。

为什么重要

如果用 dpkg -i 逐个安装导入文件,就必须由人工安排安装顺序,而且下次还得再次记住这个顺序。构建成仓库后,apt 会解析依赖图,并且该仓库可以持续复用。此外,**安装模拟(-s)**才是判断导入是否成功的最终答案:若此处出现 unmet dependencies,其列表就是第二批导入清单。

继续使用上一实验(gpu-deps)中创建的 /root/gpu/pool

步骤

  1. /root/gpu/pool 中添加 Release 文件。OriginLabelSuiteCodenameArchitecturesComponents 六个键必须各占一行,并且 Architectures 中必须包含 amd64
  2. 通过 /etc/apt/sources.list.d/gpu-airgap.list 注册该仓库并更新索引。然后将 apt-cache policy nvidia-driver-550 的输出保存到 /root/gpu/policy.txt
  3. 模拟安装 nvidia-driver-550,将输出保存到 /root/gpu/sim-driver.txt。以 Inst 开头的行必须有 11 行。
  4. 模拟安装 nvidia-container-toolkit,确认其失败,并将输出(包括标准错误)保存到 /root/gpu/sim-toolkit-fail.txt。文件中必须提到 libnvidia-container1
  5. 构建 /opt/fixtures/gpu-airgap/src2/ 中的包并添加到 /root/gpu/pool/,重新生成索引并更新索引。Package: 条目必须变为 15 个。
  6. 实际安装 nvidia-driver-550nvidia-container-toolkit
  7. dpkg -l 检查名称以 nvidialibnvidia 开头的包状态,并保存到 /root/gpu/installed.txt。所有行都必须处于 ii 状态。
  8. 按以下 4 行创建 /root/gpu/install-report.txtDRIVER_VERSION=<nvidia-driver-550 의 설치된 버전> / TOOLKIT_VERSION=<nvidia-container-toolkit 의 설치된 버전> / INSTALLED=<이름이 nvidia 또는 libnvidia 로 시작하는 설치된 패키지 수> / SECOND_INTAKE=libnvidia-container1

参考

用导入内容构建仓库

/root/gpu/pool 中添加 Release 文件。OriginLabelSuiteCodenameArchitecturesComponents 六个键必须各占一行,并且 Architectures 中必须包含 amd64

继续使用上一实验创建的 pool,同时也要创建 Release 文件。

注册并更新仓库

通过 /etc/apt/sources.list.d/gpu-airgap.list 注册该仓库并更新索引。然后将 apt-cache policy nvidia-driver-550 的输出保存到 /root/gpu/policy.txt

这是 flat 仓库格式。注册后必须更新索引,才能看到包。

模拟安装驱动

模拟安装 nvidia-driver-550,将输出保存到 /root/gpu/sim-driver.txt。以 Inst 开头的行必须有 11 行。

-s 选项不会修改任何内容,只会输出计划。请统计以 Inst 开头的行数。

确认 toolkit 安装受阻

模拟安装 nvidia-container-toolkit,确认其失败,并将输出(包括标准错误)保存到 /root/gpu/sim-toolkit-fail.txt。文件中必须提到 libnvidia-container1

用 toolkit 执行同样的模拟会失败。请原样保存错误输出。

加入第二批导入内容

构建 /opt/fixtures/gpu-airgap/src2/ 中的包并添加到 /root/gpu/pool/,重新生成索引并更新索引。Package: 条目必须变为 15 个。

src2 目录中包含缺失的包。构建后放入 pool,并重新生成索引。

实际安装

实际安装 nvidia-driver-550nvidia-container-toolkit

可以一次性安装驱动和 toolkit。安装后检查状态。

验证安装状态

dpkg -l 检查名称以 nvidialibnvidia 开头的包状态,并保存到 /root/gpu/installed.txt。所有行都必须处于 ii 状态。

dpkg -l 的所有状态标记都必须是 ii。若有其他状态,说明安装尚未完成。

安装报告

按以下 4 行创建 /root/gpu/install-report.txtDRIVER_VERSION=<nvidia-driver-550 의 설치된 버전> / TOOLKIT_VERSION=<nvidia-container-toolkit 의 설치된 버전> / INSTALLED=<이름이 nvidia 또는 libnvidia 로 시작하는 설치된 패키지 수> / SECOND_INTAKE=libnvidia-container1

汇总已安装包的数量和版本。值必须来自实际查询结果。