Bagaimana saya bisa memaksa 16,04 untuk menambah repositori walaupun itu tidak dianggap cukup aman?

9

Saya benar-benar harus menginstal Nvidia Cuda tapi saya mendapatkan kesalahan

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

Bisakah saya memaksanya untuk menginstalnya? Saya benar-benar perlu menggunakannya, bahkan jika itu tidak aman. Saya ragu Nvidia akan memperbarui repo agar berfungsi dengan 16.04 dalam waktu dekat.

rajlego
sumber

Jawaban:

9

Saya memiliki masalah yang sama ketika mencoba menginstal CUDA 7.5 di Ubuntu 16.04. Hal ini disebabkan oleh hilangnya entri SHA256 atau SHA512 dalam paket CUDA (seperti yang dilaporkan oleh tim Debian di sini ).

Tampaknya kita tidak dapat memaksa pembaruan apt-get untuk mengambil "repositori tidak aman", tetapi saya dapat menghindari sepenuhnya masalah dengan menggunakan file .run. Inilah yang saya lakukan langkah demi langkah:

  1. Alih-alih mengunduh paket .deb, unduh file .run (dari halaman ini )
  2. Instal kompiler yang kompatibel (tampaknya cuda 7.5 tidak kompatibel dengan kompiler default Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Anda mungkin perlu menginstal beberapa paket tambahan (tergantung pada konfigurasi Anda):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Luncurkan file jalankan dan ikuti instruksi:

    sudo sh cuda_7.5.18_linux.run
    

Ini bekerja dengan baik untuk saya (jangan lupa untuk menginstal driver NVIDIA)

EDIT: Setelah langkah 2 & 3, jika pemasang CUDA mencoba menggunakan gcc 5.3.1 (default untuk ubuntu 16.04) sebagai kompiler alih-alih versi 4.9, Anda dapat mencoba untuk menghapus versi 5.3.1, instal CUDA, lalu instal ulang gcc terbaru Versi: kapan.

Amine Horseman
sumber
Saya tidak tahu apakah ini baru, tetapi setelah melihat versi gcc "salah" saya, skrip instal sebenarnya menyarankan untuk menjalankannya lagi dengan flag '--override'. Jadi saya menjalankannya lagi sh cuda_7.5.18_linux.run --overridedan sepertinya semuanya berfungsi dengan baik untuk saat ini: Saya dapat menjalankan beberapa kode TensorFlow sederhana menggunakan kartu NVidia saya. Instalasi hampir instan dan saya pikir itu tidak mengkompilasi apa pun. Saya tidak yakin mengapa kompilator perlu ditentukan ... Saya mungkin akan mendapatkan beberapa masalah nanti.
toto2
Saya harus menentukan bahwa saya melewatkan instalasi driver karena sudah diinstal. Saya tidak yakin apakah itu bisa melewati kompilasi.
toto2
Saya pikir driver Nvidia tidak diinstal secara otomatis di 16.04? Saya juga meminta pengembang Nvidia untuk memperbaiki masalah repositori Cuda .deb tetapi mereka mengatakan bahwa Cuda 7.5 belum didukung pada 16.04. Rasanya aneh karena menggunakan installer .sh berfungsi dengan baik dan saya bahkan dapat menggunakannya dengan tensorflow
Amine Horseman
Driver NVidia memang tidak diinstal secara default. Saya mencoba untuk menginstalnya langsung dari NVidia dan saya mengacaukan sistem saya. Tetapi kemudian saya menyadari bahwa Anda dapat menginstalnya dengan mudah dengan masuk ke aplikasi Pengaturan> Perangkat Lunak & Pembaruan> Driver Tambahan. Mungkin bukan yang terbaru, tetapi cukup sederhana.
toto2
5

Ubah Anda /var/cuda-repo-7-5-local/Releasemenjadi yang berikut:

Origin: NVIDIA
Label: NVIDIA CUDA
Architecture: repogenstagetemp
MD5Sum:
 51483bc34577facd49f0fbc8c396aea0            75379 Packages
 4ef963dfa4276be01db8e7bf7d8a4f12            21448 Packages.gz
SHA256:
 532b1bb3b392b9083de4445dab2639b36865d7df1f610aeef8961a3c6f304d8a            75379 Packages
 2e48cc13b6cc5856c9c6f628c6fe8088ef62ed664e9e0046fc72819269f7432c            21448 Packages.gz

Jalankan sudo apt-get updatemengabaikan peringatan tentang tanda tangan tidak valid, dan Anda selesai.

Jika itu gagal, ganti jumlah SHA256 dengan output dari

sha256sum /var/cuda-repo-7-5-local/Packages.gz

dan

gunzip -c /var/cuda-repo-7-5-local/Packages.gz | sha256sum
Huazuo Gao
sumber
2

Saat ini Anda dapat menggunakan perintah berikut di Ubuntu 16.04 untuk menginstal CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit
SentinalBais
sumber
Terima kasih untuk hasil editnya, jadi Anda tidak perlu cuda-dev?
SentinalBais
0

Saya tidak bisa berkomentar, tetapi menambahkan jawaban @ Horse-man: Anda tidak perlu menghapus / menginstal ulang gcc jika Anda sudah menginstal gcc 4.9. Bagi saya itu sudah cukup

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

Gcc-4.9 saya benar-benar 4.9.3 yang tidak disukai oleh pemasang CUDA, jadi saya mengeksekusinya menggunakan

sudo sh cuda_7.5.18_linux.run --override

Dan itu dipasang dengan benar.

Guy Rapaport
sumber
0

Solusinya sederhana:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Tuan Ungu
sumber