我確實需要安裝 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 是否會很快更新存儲庫以支援 16.04。
答案1
我嘗試在 Ubuntu 16.04 中安裝 CUDA 7.5 時遇到相同的問題。這是由於 CUDA 包中缺少 SHA256 或 SHA512 條目(據 Debian 團隊報告)這裡)。
似乎我們無法強制 apt-get update 獲取“非安全存儲庫”,但我可以通過使用 .run 文件完全避免該問題。這是我一步一步所做的:
- 不要下載 .deb 包,而是下載 .run 檔案(從 這一頁)
安裝相容的編譯器(看起來像cuda 7.5與Ubuntu 16.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