模拟/建模/设计

更新 CUDA Linux GPG 存储库密钥

 

为了最好地确保 RPM 和 Debian 软件包存储库的安全性和可靠性, NVIDIA 从 2022 年 4 月 27 日开始更新并轮换aptdnf/yumzypper软件包管理器使用的签名密钥。

如果不更新存储库签名密钥,则在尝试从 CUDA 存储库访问或安装软件包时,可能会出现软件包管理错误。

要确保继续访问最新的 NVIDIA 软件,请完成以下步骤。

删除过期的签名密钥

Debian 、 Ubuntu 、 WSL

$ sudo apt-key del 7fa2af80

软呢帽、瑞尔、 openSUSE 、 SLES

$ sudo rpm --erase gpg-pubkey-7fa2af80*

安装新密钥

对于基于 Debian 的发行版,包括 Ubuntu ,您还必须安装新的软件包或手动安装新的签名密钥。

安装新的 cuda 钥匙圈组件

为了避免手动密钥安装步骤的需要, NVIDIA 提供了一个新的帮助程序包,用于自动安装 NVIDIA 存储库的新签名密钥。

将以下命令中的$distro/$arch替换为适合您的操作系统的值;例如:

  • debian10/x86_64
  • debian11/x86_64
  • ubuntu1604/x86_64
  • ubuntu1804 / cross linux sbsa
  • ubuntu1804 / ppc64el
  • Ubuntu 1804 / sbsa
  • ubuntu1804/x86_64
  • ubuntu2004 / cross linux sbsa
  • Ubuntu 2004 / sbsa
  • ubuntu2004/x86_64
  • Ubuntu 2204 / sbsa
  • ubuntu2204/x86_64
  • wsl-ubuntu/x86_64

Debian 、 Ubuntu 、 WSL

$ wget https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb

替代方法:手动安装新的签名密钥

如果无法安装 cuda 密钥环软件包,可以手动安装新的签名密钥(不是推荐的方法)。

Debian 、 Ubuntu 、 WSL

$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/3bf863cc.pub

RPM 发行版

在新安装时, Fedora 、 RHEL 、 openSUSE 或 SLES as dnf/yum/zypper会在存储库签名密钥更改时提示您接受新密钥。在提示时接受更改。

将以下命令中的$distro/$arch替换为适合您的操作系统的值;例如:

  • fedora32/x86_64
  • fedora33/x86_64
  • fedora34/x86_64
  • fedora35/x86_64
  • opensuse15/x86_64
  • 规则 7 / ppc64le
  • rhel7/x86_64
  • rhel8 / cross linux sbsa
  • 规则 8 / ppc64le
  • rhel8 / sbsa
  • rhel8/x86_64
  • sles15 / cross linux sbsa
  • sles15 / sbsa
  • sles15/x86_64

要在基于 RPM 的发行版(包括 Fedora 、 RHEL 和 SUSE )上升级,还必须运行以下命令。

Fedora 和 RHEL 8

$ sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-$distro.repo

RHEL 7

$ sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/$arch/cuda-rhel7.repo

openSUSE 和 SLES

$ sudo zypper removerepo cuda-$distro-$arch
$ sudo zypper addrepo https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-$distro.repo

使用容器

CUDA 使用旧的 NGC 基本容器构建的应用程序可能包含过时的存储库密钥。如果您使用这些映像作为基础构建 Docker 容器,并更新 package manager ,或在 Dockerfile 中安装其他 NVIDIA 软件包,这些命令可能会失败,就像在非容器系统上一样。要解决此问题,请将以前的命令集成到用于构建容器的 Dockerfile 中。

未使用 package manager 安装更新的现有容器不受此密钥轮换的影响。

与 NVIDIA GPU 运营商合作

如果您是 Ubuntu 发行版上 GPU 操作符的当前用户,您可能会受到 CUDA GPG 键旋转的影响,其中 GPU 操作符管理的一些容器可能无法启动,出现以下错误:

Stopping NVIDIA persistence daemon... Unloading NVIDIA driver kernel modules... Unmounting NVIDIA driver rootfs... Checking NVIDIA driver packages... Updating the package cache... W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease' is no longer signed.

NVIDIA 正在通过覆盖现有图像标签为驱动程序容器发布新图像。您可以通过更新现有clusterPolicy以获取新图像来解决此错误:

$ kubectl edit clusterpolicy
...
set driver.imagePullPolicy=Always

此步骤导致 GPU 操作员提取更新的图像。

GPU 操作员的新安装应不受此更改的影响,并且不需要任何clusterPolicy更新。如果您在 RHEL 或 OpenShift 上使用 GPU 运算符,您也不会受到此更改的影响。

 

标签