Come posso forzare 16.04 per aggiungere un repository anche se non è considerato abbastanza sicuro?


9

Ho davvero bisogno di installare Nvidia Cuda ma sto ricevendo l'errore

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

Posso forzarlo ad installarlo comunque? Ho davvero bisogno di usarlo, anche se non è sicuro. Dubito che Nvidia aggiornerà presto il repository per funzionare con 16.04.

Risposte:


9

Ho avuto lo stesso problema nel tentativo di installare CUDA 7.5 in Ubuntu 16.04. Ciò è dovuto a una voce SHA256 o SHA512 mancante nel pacchetto CUDA (come riportato dal team Debian qui ).

Sembra che non possiamo forzare apt-get update per recuperare un "repository non sicuro", ma potrei evitare completamente il problema usando il file .run. Ecco cosa ho fatto passo dopo passo:

  1. Invece di scaricare il pacchetto .deb, scarica il file .run (da questa pagina )
  2. Installa un compilatore compatibile (sembra che cuda 7.5 non sia compatibile con il compilatore predefinito di Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Potrebbe essere necessario installare alcuni pacchetti aggiuntivi (dipende dalla configurazione):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Avviare il file di esecuzione e seguire le istruzioni:

    sudo sh cuda_7.5.18_linux.run
    

Questo ha funzionato bene per me (non dimenticare di installare il driver NVIDIA)

MODIFICA: Dopo i passaggi 2 e 3, se il programma di installazione CUDA tenta di utilizzare gcc 5.3.1 (impostazione predefinita per Ubuntu 16.04) come compilatore anziché versione 4.9, puoi provare a rimuovere la versione 5.3.1, installare CUDA, quindi reinstallare l'ultimo gcc versione.


Non so se è nuovo, ma vedendo la mia versione "sbagliata" di gcc, lo script di installazione in realtà ha suggerito di eseguirlo di nuovo con il flag '--override'. Così l'ho eseguito di nuovo come sh cuda_7.5.18_linux.run --overridee tutto sembra funzionare bene per ora: posso eseguire un semplice codice TensorFlow usando la mia scheda NVidia. L'installazione è quasi istantanea e non credo che abbia compilato nulla. Non sono sicuro del motivo per cui è necessario specificare il compilatore ... Potrei riscontrare alcuni problemi in seguito.
toto2,

Devo specificare che ho saltato l'installazione del driver poiché era già installato. Non sono sicuro che ciò avrebbe potuto aggirare qualche compilation.
toto2

Pensavo che il driver Nvidia non fosse installato automaticamente in 16.04? Ho anche chiesto agli sviluppatori di Nvidia di risolvere il problema del repository .deb di Cuda, ma hanno detto che Cuda 7.5 non è ancora supportato su 16.04. Sembra strano perché usando l'installer .sh funziona benissimo e posso persino usarlo con tensorflow
Amine Horseman

Il driver NVidia non è effettivamente installato per impostazione predefinita. Ho provato a installarlo direttamente da NVidia e ho incasinato il mio sistema. Ma poi ho capito che puoi installarlo facilmente andando sull'app Impostazioni> Software e aggiornamenti> Driver aggiuntivi. Potrebbe non essere l'ultimo, ma è abbastanza semplice.
toto2,

5

Cambia il tuo /var/cuda-repo-7-5-local/Releasein quanto segue:

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

Esegui sudo apt-get updateignorando gli avvisi sulle firme non valide e il gioco è fatto.

In caso contrario, sostituire la somma SHA256 con l'output di

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

e

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

2

Attualmente è possibile utilizzare i seguenti comandi su Ubuntu 16.04 per installare CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit

Grazie per la modifica, quindi non hai bisogno di cuda-dev?
SentinalBais,

0

Non posso commentare, ma aggiungendo alla risposta di @ Horse-man: Non devi disinstallare / reinstallare gcc se hai già installato gcc 4.9. Per me è stato sufficiente

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

Il mio gcc-4.9 era davvero 4.9.3 che non piaceva al programma di installazione CUDA, quindi l'ho eseguito usando

sudo sh cuda_7.5.18_linux.run --override

E installato correttamente.


0

La soluzione è semplice:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.