离线安装#

出于安全目的,某些安装要求系统与互联网或外部网络隔离。

离线系统未连接到不安全的网络,例如公共互联网、不安全的 LAN 或连接到不安全网络的其他计算机。在 DGX 系统上更新软件以及从 NGC 容器注册表加载容器映像的默认机制需要互联网连接。在与互联网隔离的离线系统上,您必须提供替代机制来更新软件和加载容器映像。

由于大多数 DGX 软件更新是通过与 NVIDIA 服务器的网络过程完成的,因此本节将介绍在使用网络方法不可行时如何进行更新。它还包括安装 Docker 容器的过程。

以下是您可以使用的方法

  • 下载 ISO 镜像,将其复制到可移动介质,然后从该介质重新映像 DGX 系统。

    此方法仅适用于可作为 ISO 镜像下载的软件版本。 有关详细信息,请参阅 重新映像 本节提供有关如何安装 DGX OS 的信息。

  • 通过从本地存储库执行网络更新来更新 DGX 软件。

    此方法仅适用于可用于网络更新的软件版本。

注意

如果您使用的是 apt-mirror 版本 0.5.4-1 或更高版本,则本主题中描述的以下方法无法成功更新存储库。要解决此问题,请参阅 在离线系统上加载镜像存储库时发生错误 已知问题 部分中的内容,以了解替代方法。

创建 NVIDIA 和 Canonical 存储库的本地镜像#

以下是下载必要软件包的步骤,以创建更新 NVIDIA DGX 系统所需的存储库镜像。 有关 DGX OS 版本和可用的发行说明的更多信息,请参阅 发行说明

注意

这些步骤仅适用于同一主要版本中的升级,例如从 5.x 到 5.y。 这些步骤不支持跨主要版本的升级,例如从 DGX OS 4 到 DGX OS 5。

  1. 确定与为 DGX OS 提供更新的公共 NVIDIA 和 Canonical 存储库相对应的源。

    您可以从 /etc/apt/sources.list 文件和 /etc/apt.sources.list.d/ 目录的内容中,或通过使用 [系统设置,软件和更新] 来识别这些源。

  2. 创建并维护您在上一步中识别的存储库源的私有镜像。

  3. 更新为 DGX 系统提供更新的源,以使用您的私有存储库镜像而不是公共存储库。

要更新这些源,请修改 /etc/apt/sources.list 文件和 /etc/apt.sources.list.d/ 目录的内容。

创建存储库镜像#

本节中的说明应在具有互联网访问权限的系统上执行。

  • 需要安装了 Ubuntu OS 的系统来创建镜像,因为需要使用多个 Ubuntu 工具。

  • 您必须以管理员用户身份登录到安装了 Ubuntu OS 的系统,因为此过程需要 sudo 权限。

  • 系统必须包含足够的存储空间才能将存储库复制到文件系统。 空间要求可能高达 250 GB。

  • 需要一种有效的方法来移动大量数据,例如,DMZ 中的共享存储,或可以带入离线区域的便携式 USB 驱动器。

    数据将需要移动到需要更新的系统。 确保任何便携式驱动器都使用 ext4 或 FAT32 格式化。

要创建镜像

  1. 确保存储设备已连接到具有网络访问权限的系统,并确定设备的挂载点。

    这是这些说明中使用的示例挂载点

    /media/usb/repository
    
  2. 安装 apt-mirror 软件包。

    sudo apt update
    
    sudo apt install apt-mirror
    
  3. 将目标目录的所有权更改为 apt-mirror 组中的 apt-mirror 用户。

    sudo chown apt-mirror:apt-mirror /media/usb/repository
    

    目标目录必须由用户 apt-mirror 拥有,否则复制将不起作用。

  4. /etc/apt/mirror.list 中配置目标目录的路径,并使用下面包含的存储库列表来检索 Ubuntu 基础操作系统和 NVIDIA DGX OS 软件包的软件包。

    ############# config ##################
    #
    set base_path /media/usb/repository #/your/path/here
    #
    # set mirror_path $base_path/mirror
    # set skel_path $base_path/skel
    # set var_path $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch <running host architecture>
    # set postmirror_script $var_path/postmirror.sh
    set run_postmirror 0
    set nthreads 20
    set _tilde 0
    #
    ############# end config ##############
    # Standard Canonical package repositories:
    deb http://security.ubuntu.com/ubuntu jammy-security main multiverse universe restricted
    deb http://archive.ubuntu.com/ubuntu/ jammy main multiverse universe restricted
    deb http://archive.ubuntu.com/ubuntu/ jammy-updates main multiverse universe restricted
    #
    deb-i386 http://security.ubuntu.com/ubuntu jammy-security main multiverse universe restricted
    deb-i386 http://archive.ubuntu.com/ubuntu/ jammy main multiverse universe restricted
    deb-i386 http://archive.ubuntu.com/ubuntu/ jammy-updates main multiverse universe restricted
    #
    # CUDA specific repositories:
    deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /
    #
    # DGX specific repositories:
    deb http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx
    deb http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx
    #
    deb-i386 http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy common dgx
    deb-i386 http://repo.download.nvidia.com/baseos/ubuntu/jammy/x86_64/ jammy-updates common dgx
    # Clean unused items
    clean http://archive.ubuntu.com/ubuntu
    clean http://security.ubuntu.com/ubuntu
    
  5. 运行 apt-mirror 并等待其完成下载内容。

    这将需要很长时间,具体取决于网络连接速度。

    sudo apt-mirror
    
  6. 弹出包含所有软件包的可移动存储设备。

    sudo eject /media/usb/repository
    

配置目标离线系统#

以下步骤说明了如何配置目标离线 DGX OS 5 系统。

本节中的说明应在目标离线 DGX 系统上执行。

  • 目标离线 DGX 系统已安装,已完成首次启动过程,并准备好使用最新的软件包进行更新。

  • 创建镜像的 USB 存储设备已连接到目标 DGX 系统。

还有其他数据传输方法,本文档未涵盖这些方法,因为它们将取决于离线环境的数据中心策略。

  1. 将存储设备挂载到离线系统上的 /media/usb/repository 以保持一致性2。 配置 apt 命令 以使用文件系统作为 /etc/apt/sources.list 文件中的存储库,方法是修改以下行。

    deb file:///media/usb/repository/mirror/security.ubuntu.com/ubuntu focal-security main multiverse universe restricted
    deb file:///media/usb/repository/mirror/archive.ubuntu.com/ubuntu/ focal main multiverse universe restricted
    deb file:///media/usb/repository/mirror/archive.ubuntu.com/ubuntu/ focal-updates main multiverse universe restricted
    
  2. 配置 apt 以使用 /etc/apt/sources.list.d/dgx.list 文件中的 NVIDIA DGX OS 软件包。

    deb file:///media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/focal/x86_64/ focal main dgx
    deb file:///media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/focal/x86_64/ focal-updates main dgx
    
  3. 配置 [apt] 以使用 /etc/apt/sources.list.d/cuda-compute-repo.list 文件中的 NVIDIA CUDA 软件包。

    deb file:///media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /
    
  4. 更新 apt 存储库。

    sudo apt update
    

    此命令的输出类似于以下示例。

    Get:1 file:/media/usb/repository/mirror/security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
    Get:2 file:/media/usb/repository/mirror/archive.ubuntu.com/ubuntu focal InRelease [265 kB]
    Get:3 file:/media/usb/repository/mirror/archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
    Get:4 file:/media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  InRelease
    Get:5 file:/media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/focal/x86_64 focal InRelease [12.5 kB]
    Get:6 file:/media/usb/repository/mirror/repo.download.nvidia.com/baseos/ubuntu/focal/x86_64 focal-updates InRelease [12.4 kB]
    Get:7 file:/media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Release [697 B]
    Get:8 file:/media/usb/repository/mirror/developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Release.gpg [836 B]
    Reading package lists... Done
    
  5. 使用新配置的本地存储库升级系统。

    sudo apt full-upgrade