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