我确实需要安装 Nvidia Cuda,但我收到了错误
E: Failed to fetch file:/var/cuda-repo-7-5-local/Release No Hash entry in Release file /var/lib/apt/lists/partial/_var_cuda-repo-7-5-local_Release which is considered strong enough for security purposes
无论如何我都可以强制安装它吗?我真的需要使用它,即使它不安全。我怀疑 Nvidia 是否会很快更新 repo 以与 16.04 兼容。
答案1
我在 Ubuntu 16.04 中尝试安装 CUDA 7.5 时遇到了同样的问题。这是由于 CUDA 包中缺少 SHA256 或 SHA512 条目(据 Debian 团队报告这里)。
看来我们无法强制 apt-get update 获取“非安全存储库”,但我可以使用 .run 文件完全避免此问题。以下是我一步步执行的操作:
- 不要下载 .deb 软件包,而是下载 .run 文件(来自 这一页)
安装兼容的编译器(好像cuda7.5和Ubuntu16.04默认的编译器不兼容):
sudo apt-get install gcc-4.9 g++-4.9
您可能需要安装一些附加软件包(取决于您的配置):
sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
启动运行文件并按照说明进行操作:
sudo sh cuda_7.5.18_linux.run
这对我来说效果很好(别忘了安装 NVIDIA 驱动程序)
编辑:在步骤 2 和 3 之后,如果 CUDA 安装程序尝试使用 gcc 5.3.1(ubuntu 16.04 的默认版本)作为编译器而不是 4.9 版本,您可以尝试删除 5.3.1 版本,安装 CUDA,然后重新安装最新的 gcc 版本。
答案2
将您的内容更改/var/cuda-repo-7-5-local/Release
为以下内容:
Origin: NVIDIA
Label: NVIDIA CUDA
Architecture: repogenstagetemp
MD5Sum:
51483bc34577facd49f0fbc8c396aea0 75379 Packages
4ef963dfa4276be01db8e7bf7d8a4f12 21448 Packages.gz
SHA256:
532b1bb3b392b9083de4445dab2639b36865d7df1f610aeef8961a3c6f304d8a 75379 Packages
2e48cc13b6cc5856c9c6f628c6fe8088ef62ed664e9e0046fc72819269f7432c 21448 Packages.gz
忽略有关无效签名的警告,运行sudo apt-get update
就完成了。
如果失败,请将 SHA256 总和替换为
sha256sum /var/cuda-repo-7-5-local/Packages.gz
和
gunzip -c /var/cuda-repo-7-5-local/Packages.gz | sha256sum
答案3
目前您可以在 Ubuntu 16.04 上使用以下命令安装 CUDA Toolkit 7.5:
sudo apt install nvidia-cuda-toolkit
答案4
解决方案很简单:
cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update