如何更新存储库签名密钥

为了最好地确保 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 / 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 运算符,您也不会受到此更改的影响。
关于作者
rob armstrong 是 cuda 工具包的主要技术产品经理。 20 多年来,他一直专注于使用异构硬件平台加速软件,并对计算机体系结构和硬件/软件交互特别感兴趣。


车用显示器被视为新蓝海,三星LG计划以OLED面板扩大抢市
物联网模式下的污水处理解决方案
人工智能助力现代治理
2022年京东11.11再创新纪录 筑就实体经济高质量发展的增量场
Mali™-V61高级视频处理器——为新世代而生
如何更新存储库签名密钥
一文带你了解什么是PLC逻辑设计法?
非屏蔽双绞线可以传输什么信号
共享经济入侵充电宝行业 共享充电宝能赚钱吗?
运动员(听觉)神经-运动反应时的测量系统
华为EMUI8.1及以上将全线支持UP1.0版本
尹志尧:中国造芯之路毁在人才上
压缩式压电传感器_压缩式压电传感器是什么
如何将Kafka使用到我们的后端设计中
网约车新政之后,你可以通过蓝牙智能钥匙来实现汽车共享
螺丝光学影像筛选机之机器视觉检测设备详情解析
利用电机控制中PLU模块与CTIMER计数器解码电机
买菜APP开发方案
一张图总结Google C++编程规范
英国小镇Hulk正在尝试推出自己的数字货币