Comment puis-je forcer 16.04 à ajouter un référentiel même s'il n'est pas considéré comme suffisamment sécurisé?

9

J'ai vraiment besoin d'installer Nvidia Cuda mais je reçois l'erreur

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

Puis-je le forcer à l'installer de toute façon? J'ai vraiment besoin de l'utiliser, même s'il n'est pas sûr. Je doute que Nvidia mettra à jour le dépôt pour fonctionner avec 16.04 de sitôt.

rajlego
la source

Réponses:

9

J'ai eu le même problème en essayant d'installer CUDA 7.5 dans Ubuntu 16.04. Cela est dû à une entrée SHA256 ou SHA512 manquante dans le paquet CUDA (comme indiqué par l'équipe Debian ici ).

Il semble que nous ne pouvons pas forcer la mise à jour apt-get à récupérer un "référentiel non sécurisé", mais je pourrais éviter complètement le problème en utilisant le fichier .run. Voici ce que j'ai fait étape par étape:

  1. Au lieu de télécharger le package .deb, téléchargez le fichier .run (à partir de cette page )
  2. Installez un compilateur compatible (il semble que cuda 7.5 ne soit pas compatible avec le compilateur par défaut d'Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Vous devrez peut-être installer des packages supplémentaires (cela dépend de votre configuration):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Lancez le fichier d'exécution et suivez les instructions:

    sudo sh cuda_7.5.18_linux.run
    

Cela a bien fonctionné pour moi (n'oubliez pas d'installer le pilote NVIDIA)

EDIT: Après les étapes 2 et 3, si le programme d'installation de CUDA essaie d'utiliser gcc 5.3.1 (par défaut pour Ubuntu 16.04) comme compilateur au lieu de la version 4.9, vous pouvez essayer de supprimer la version 5.3.1, installer CUDA, puis réinstaller le dernier gcc version.

Amine Horseman
la source
Je ne sais pas si c'est nouveau, mais en voyant ma "mauvaise" version de gcc, le script d'installation a suggéré de l'exécuter à nouveau avec le drapeau '--override'. Je l'ai donc relancé au fur sh cuda_7.5.18_linux.run --overrideet à mesure et tout semble bien fonctionner pour l'instant: je peux exécuter du code TensorFlow simple en utilisant ma carte NVidia. L'installation est presque instantanée et je ne pense pas qu'elle ait compilé quoi que ce soit. Je ne sais pas pourquoi le compilateur doit être spécifié ... Je pourrais avoir des problèmes plus tard.
toto2
Je dois préciser que j'ai ignoré l'installation du pilote car il était déjà installé. Je ne sais pas si cela aurait pu contourner une compilation.
toto2
Je pensais que le pilote Nvidia n'est pas installé automatiquement en 16.04? J'ai également demandé aux développeurs Nvidia de résoudre le problème du référentiel Cuda .deb mais ils ont dit que Cuda 7.5 n'était pas encore pris en charge le 16.04. Cela semble étrange, car en utilisant l'installateur .sh, cela fonctionne bien et je peux même l'utiliser avec tensorflow
Amine Horseman
Le pilote NVidia n'est en effet pas installé par défaut. J'ai essayé de l'installer directement depuis NVidia et j'ai foiré mon système. Mais j'ai réalisé que vous pouvez l'installer facilement en allant dans l'application Paramètres> Logiciels et mises à jour> Pilotes supplémentaires. Ce n'est peut-être pas le dernier, mais c'est assez simple.
toto2
5

Changez votre /var/cuda-repo-7-5-local/Releasepour ce qui suit:

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

Exécutez en sudo apt-get updateignorant les avertissements concernant les signatures non valides et vous avez terminé.

Si cela échoue, remplacez la somme SHA256 par la sortie de

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

et

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

Actuellement, vous pouvez utiliser les commandes suivantes sur Ubuntu 16.04 pour installer CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit
SentinalBais
la source
Merci pour la modification, vous n'avez donc pas besoin de cuda-dev?
SentinalBais
0

Je ne peux pas commenter, mais en ajoutant à la réponse de @ Horse-man: vous n'avez pas à désinstaller / réinstaller gcc si vous avez déjà installé gcc 4.9. Pour moi, il suffisait de

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

Mon gcc-4.9 était vraiment 4.9.3 que le programme d'installation de CUDA n'aimait pas, donc je l'ai exécuté en utilisant

sudo sh cuda_7.5.18_linux.run --override

Et il s'est installé correctement.

Guy Rapaport
la source
0

La solution est simple:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Mr Purple
la source