在wsl2里面安装CUDA时报BADSIG F60F4B3D7FA2AF80 cudatools <cudatools@nvidia.com>
在网上找了好久都解决不了,包括下面三种:
办法1:gpg --keyserver keyserver.ubuntu.com --recv-keys F60F4B3D7FA2AF80
办法2:
1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
2. vi /etc/apt/sources.list
#Ali Cloud
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
3. sudo apt-get update
4. sudo apt-get dist-upgrade
5. sudo apt-get -f install
办法3:
1.安装apt-transport-https
2.list里面的http改为https
3.执行下面这个
wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub | sudo apt-key add -
最后找到GitHub上的办法,最终解决了,感谢万能的互联网,具体办法如下:
我的问题是在创建docker时在apt update过程中出现了Invalid signature BADSIG F60F4B3D7FA2AF80
但是遗憾的是现在我已经完全无法连接developer.download.nvidia.com除非使用proxy
简单来说我当时使用gpg verify了developer.download.nvidia.com和developer.download.nvidia.cn的下载内容
然后说明我的个人见解,当使用docker国内连接到developer.download.nvidia.com时似乎会自动转到developer.download.nvidia.cn,而验证gpg时时,developer.download.nvidia.com的内容是能验证通过而developer.download.nvidia.cn的不能(原因未知)
所以考虑到这种差异,我在host文件中将developer.download.nvidia.cn解析到developer.download.nvidia.com对应的ip地址(原理等同于proxy),最终验证通过
英伟达仓库的 CDN 缓存背锅。签名 Release.gpg
缓存了个新的,Release
本体却没有更新,还是旧的。整个仓库的同步和缓存竟然不是原子化的,太糟糕了。
It's ALL Nvidia CDN's FAULT. The CDN cached a newer signature Release.gpg
but did NOT refresh Release
's cache at the same time. I could not imagine that the entire repository is not synchronized and cached atomically. This is too AWFUL.
OLD Release
+ NEW Release.gpg
=> BAD signature.
主要是两个地址冲突了,developer.download.nvidia.cn 和developer.download.nvidia.com的地址会被跳转到.cn的地址,这两个地址是不一样的pub,可以把原来的developer.download.nvidia.com都改成developer.download.nvidia.cn