為了最好地確保 RPM 和 Debian 軟件包存儲(chǔ)庫(kù)的安全性和可靠性, NVIDIA 從 2022 年 4 月 27 日開(kāi)始更新并輪換apt、dnf/yum和zypper軟件包管理器使用的簽名密鑰。
如果不更新存儲(chǔ)庫(kù)簽名密鑰,則在嘗試從 CUDA 存儲(chǔ)庫(kù)訪問(wèn)或安裝軟件包時(shí),可能會(huì)出現(xiàn)軟件包管理錯(cuò)誤。
要確保繼續(xù)訪問(wèn)最新的 NVIDIA 軟件,請(qǐng)完成以下步驟。
刪除過(guò)期的簽名密鑰
Debian 、 Ubuntu 、 WSL
$ sudo apt-key del 7fa2af80
軟呢帽、瑞爾、 openSUSE 、 SLES
$ sudo rpm --erase gpg-pubkey-7fa2af80*
安裝新密鑰
對(duì)于基于 Debian 的發(fā)行版,包括 Ubuntu ,您還必須安裝新的軟件包或手動(dòng)安裝新的簽名密鑰。
安裝新的 cuda 鑰匙圈組件
為了避免手動(dòng)密鑰安裝步驟的需要, NVIDIA 提供了一個(gè)新的幫助程序包,用于自動(dòng)安裝 NVIDIA 存儲(chǔ)庫(kù)的新簽名密鑰。
將以下命令中的$distro/$arch替換為適合您的操作系統(tǒng)的值;例如:
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
替代方法:手動(dòng)安裝新的簽名密鑰
如果無(wú)法安裝 cuda 密鑰環(huán)軟件包,可以手動(dòng)安裝新的簽名密鑰(不是推薦的方法)。
Debian 、 Ubuntu 、 WSL
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/3bf863cc.pub
RPM 發(fā)行版
在新安裝時(shí), Fedora 、 RHEL 、 openSUSE 或 SLES as dnf/yum/zypper會(huì)在存儲(chǔ)庫(kù)簽名密鑰更改時(shí)提示您接受新密鑰。在提示時(shí)接受更改。
將以下命令中的$distro/$arch替換為適合您的操作系統(tǒng)的值;例如:
fedora32/x86_64
fedora33/x86_64
fedora34/x86_64
fedora35/x86_64
opensuse15/x86_64
規(guī)則 7 / ppc64le
rhel7/x86_64
rhel8 / cross linux sbsa
規(guī)則 8 / ppc64le
rhel8 / sbsa
rhel8/x86_64
sles15 / cross linux sbsa
sles15 / sbsa
sles15/x86_64
要在基于 RPM 的發(fā)行版(包括 Fedora 、 RHEL 和 SUSE )上升級(jí),還必須運(yùn)行以下命令。
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 基本容器構(gòu)建的應(yīng)用程序可能包含過(guò)時(shí)的存儲(chǔ)庫(kù)密鑰。如果您使用這些映像作為基礎(chǔ)構(gòu)建 Docker 容器,并更新 package manager ,或在 Dockerfile 中安裝其他 NVIDIA 軟件包,這些命令可能會(huì)失敗,就像在非容器系統(tǒng)上一樣。要解決此問(wèn)題,請(qǐng)將以前的命令集成到用于構(gòu)建容器的 Dockerfile 中。
未使用 package manager 安裝更新的現(xiàn)有容器不受此密鑰輪換的影響。
與 NVIDIA GPU 運(yùn)營(yíng)商合作
如果您是 Ubuntu 發(fā)行版上 GPU 操作符的當(dāng)前用戶,您可能會(huì)受到 CUDA GPG 鍵旋轉(zhuǎn)的影響,其中 GPU 操作符管理的一些容器可能無(wú)法啟動(dòng),出現(xiàn)以下錯(cuò)誤:
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 正在通過(guò)覆蓋現(xiàn)有圖像標(biāo)簽為驅(qū)動(dòng)程序容器發(fā)布新圖像。您可以通過(guò)更新現(xiàn)有clusterPolicy
以獲取新圖像來(lái)解決此錯(cuò)誤:
$ kubectl edit clusterpolicy ... set driver.imagePullPolicy=Always
此步驟導(dǎo)致 GPU 操作員提取更新的圖像。
GPU 操作員的新安裝應(yīng)不受此更改的影響,并且不需要任何clusterPolicy更新。如果您在 RHEL 或 OpenShift 上使用 GPU 運(yùn)算符,您也不會(huì)受到此更改的影響。
關(guān)于作者
Rob Armstrong 是 CUDA 工具包的主要技術(shù)產(chǎn)品經(jīng)理。 20 多年來(lái),他一直專注于使用異構(gòu)硬件平臺(tái)加速軟件,并對(duì)計(jì)算機(jī)體系結(jié)構(gòu)和硬件/軟件交互特別感興趣。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5071瀏覽量
103500 -
CUDA
+關(guān)注
關(guān)注
0文章
121瀏覽量
13656
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論