Jak zmusić 16.04 do dodania repozytorium, nawet jeśli nie jest wystarczająco bezpieczne?

9

Naprawdę muszę zainstalować Nvidię Cuda, ale pojawia się błąd

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

Czy mimo to mogę go zmusić do zainstalowania? Naprawdę muszę go użyć, nawet jeśli jest to niepewne. Wątpię, aby Nvidia zaktualizowała repozytorium do pracy z 16.04 w najbliższym czasie.

rajlego
źródło

Odpowiedzi:

9

Miałem ten sam problem, próbując zainstalować CUDA 7.5 w Ubuntu 16.04. Wynika to z brakującego wpisu SHA256 lub SHA512 w pakiecie CUDA (jak donosi zespół Debiana tutaj ).

Wygląda na to, że nie możemy zmusić aktualizacji apt-get do pobrania „niezabezpieczonego repozytorium”, ale mogę całkowicie uniknąć tego problemu, używając pliku .run. Oto co zrobiłem krok po kroku:

  1. Zamiast pobierać pakiet .deb, pobierz plik .run (z tej strony )
  2. Zainstaluj kompatybilny kompilator (wygląda na to, że cuda 7.5 nie jest kompatybilny z domyślnym kompilatorem Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Może być konieczne zainstalowanie dodatkowych pakietów (w zależności od konfiguracji):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Uruchom plik uruchamiania i postępuj zgodnie z instrukcjami:

    sudo sh cuda_7.5.18_linux.run
    

Działa to dla mnie dobrze (nie zapomnij zainstalować sterownika NVIDIA)

EDYCJA: Po kroku 2 i 3, jeśli instalator CUDA spróbuje użyć gcc 5.3.1 (domyślnie dla Ubuntu 16.04) jako kompilatora zamiast wersji 4.9, możesz spróbować usunąć wersję 5.3.1, zainstalować CUDA, a następnie ponownie zainstalować najnowszą gcc wersja.

Amine Horseman
źródło
Nie wiem czy jest nowy, ale po zobaczeniu mojej „złej” wersji gcc, skrypt instalacyjny faktycznie zasugerował, aby uruchomić go ponownie z flagą „--override”. Więc uruchomiłem go ponownie, ponieważ sh cuda_7.5.18_linux.run --overridewydaje się, że na razie wszystko działa dobrze: mogę uruchomić prosty kod TensorFlow przy użyciu mojej karty NVidia. Instalacja jest prawie natychmiastowa i nie wydaje mi się, żeby coś kompilowała. Nie jestem pewien, dlaczego należy określić kompilator ... Mogę później mieć problemy.
toto2
Powinienem określić, że pominąłem instalację sterownika, ponieważ była już zainstalowana. Nie jestem pewien, czy to mogło ominąć kompilację.
toto2
Myślałem, że sterownik Nvidia nie jest instalowany automatycznie w 16.04? Poprosiłem również programistów Nvidii o naprawienie problemu z repozytorium Cuda .deb, ale powiedzieli, że Cuda 7.5 nie jest jeszcze obsługiwany 16.04. Wydaje się to dziwne, ponieważ przy użyciu instalatora .sh działa dobrze i mogę nawet używać go z tensorflow
Amine Horseman
Sterownik NVidia rzeczywiście nie jest domyślnie instalowany. Próbowałem zainstalować go bezpośrednio z NVidii i zepsułem mój system. Ale potem zdałem sobie sprawę, że możesz go łatwo zainstalować, przechodząc do aplikacji Ustawienia> Oprogramowanie i aktualizacje> Dodatkowe sterowniki. To może nie być najnowszy, ale jest dość prosty.
toto2
5

Zmień /var/cuda-repo-7-5-local/Releasena następujące:

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

Uruchom sudo apt-get updateignorowanie ostrzeżeń o nieprawidłowych podpisach i gotowe.

Jeśli to się nie powiedzie, zamień sumę SHA256 na wynik

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

i

gunzip -c /var/cuda-repo-7-5-local/Packages.gz | sha256sum
Huazuo Gao
źródło
2

Obecnie możesz użyć następujących poleceń w systemie Ubuntu 16.04, aby zainstalować CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit
SentinalBais
źródło
Dzięki za edycję, więc nie potrzebujesz cuda-dev?
SentinalBais,
0

Nie mogę komentować, ale dodaję do odpowiedzi @ Horse-man: Nie musisz odinstalowywać / ponownie instalować gcc, jeśli masz już zainstalowany gcc 4.9. Dla mnie to wystarczyło

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

Mój gcc-4.9 miał naprawdę 4.9.3, co nie podobało się instalatorowi CUDA, więc go uruchomiłem

sudo sh cuda_7.5.18_linux.run --override

I zainstalował się poprawnie.

Guy Rapaport
źródło
0

Rozwiązanie jest proste:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Mr Purple
źródło