為了最好地確保 RPM 和 Debian 軟件包存儲庫的安全性和可靠性, NVIDIA 從 2022 年 4 月 27 日開始更新并輪換apt、dnf/yum和zypper軟件包管理器使用的簽名密鑰。
如果不更新存儲庫簽名密鑰,則在嘗試從 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 / 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 運算符,您也不會受到此更改的影響。
關于作者
Rob Armstrong 是 CUDA 工具包的主要技術產品經理。 20 多年來,他一直專注于使用異構硬件平臺加速軟件,并對計算機體系結構和硬件/軟件交互特別感興趣。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
4939瀏覽量
102815 -
CUDA
+關注
關注
0文章
121瀏覽量
13598
發布評論請先 登錄
相關推薦
評論