十分に安全であると見なされていない場合でも、16.04にリポジトリを強制的に追加するにはどうすればよいですか?


9

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で動作するようにリポジトリを更新することはないと思います。

回答:


9

Ubuntu 16.04にCUDA 7.5をインストールしようとすると、同じ問題が発生しました。これは、CUDAパッケージのSHA256またはSHA512エントリが欠落していることが原因です(Debianチームからの報告はこちら)。

apt-get updateで「安全でないリポジトリ」を強制的に取得することはできないようですが、.runファイルを使用することで問題を完全に回避できました。これが私が一歩ずつやったことです:

  1. .debパッケージをダウンロードする代わりに、(このページから).runファイルをダウンロードします
  2. 互換性のあるコンパイラーをインストールします(cuda 7.5はUbuntu 16.04のデフォルトのコンパイラーと互換性がないようです)。

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. いくつかの追加パッケージをインストールする必要がある場合があります(構成によって異なります)。

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. 実行ファイルを起動し、指示に従います。

    sudo sh cuda_7.5.18_linux.run
    

これは私にとってはうまくいきました(NVIDIAドライバーをインストールすることを忘れないでください)

編集:ステップ2&3の後、CUDAインストーラーが4.9バージョンの代わりにgcc 5.3.1(ubuntu 16.04のデフォルト)をコンパイラーとして使用しようとする場合、5.3.1バージョンを削除し、CUDAをインストールしてから、最新のgccを再インストールできます。バージョン。


新しいかどうかはわかりませんが、「間違った」gccバージョンが表示されると、インストールスクリプトは実際に「--override」フラグを指定して実行するよう提案しました。だから私はもう一度それを実行しました、sh cuda_7.5.18_linux.run --overrideそして今のところすべてがうまく機能しているようです:私のNVidiaカードを使用していくつかの簡単なTensorFlowコードを実行できます。インストールはほぼ瞬時で、何もコンパイルされていないと思います。コンパイラを指定する必要がある理由がわかりません...後で問題が発生する可能性があります。
toto2 2016年

ドライバーが既にインストールされているため、ドライバーのインストールをスキップしたことを指定する必要があります。それがいくつかのコンパイルをバイパスできたかどうかはわかりません。
toto2 2016年

Nvidiaドライバーが16.04で自動的にインストールされないと思いましたか?また、Nvidia開発者にCuda .debリポジトリの問題を修正するよう依頼しましたが、Cuda 7.5は16.04ではまだサポートされていないと述べました。.shインストーラーを使用すると正常に機能し、tensorflowで使用することもできるため、奇妙に思われます
アミンホースマン

NVidiaドライバーはデフォルトではインストールされていません。NVidiaから直接インストールしようとしましたが、システムをめちゃくちゃにしました。でも、設定アプリ>ソフトウェアとアップデート>追加ドライバーに行くと簡単にインストールできることに気づきました。最新ではないかもしれませんが、非常に簡単です。
toto2

5

/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

2

現在、Ubuntu 16.04で次のコマンドを使用して、CUDAツールキット7.5をインストールできます。

sudo apt install nvidia-cuda-toolkit

編集をありがとう、それであなたはcuda-devを必要としませんか?
SentinalBais 16

0

コメントはできませんが、@ Horse-manの回答に追加します。すでにgcc 4.9がインストールされている場合は、gccをアンインストール/再インストールする必要はありません。私にとってはそれで十分でした

sudo unlink /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc

私のgcc-4.9は実際には4.9.3で、CUDAインストーラーはこれを嫌っていたので、

sudo sh cuda_7.5.18_linux.run --override

そして、それは適切にインストールされました。


0

解決策は簡単です:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.