¿Cómo puedo forzar a 16.04 a agregar un repositorio incluso si no se considera lo suficientemente seguro?

9

Realmente necesito instalar Nvidia Cuda pero recibo el error

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

¿Puedo forzarlo a instalarlo de todos modos? Realmente necesito usarlo, incluso si es inseguro. Dudo que Nvidia actualice el repositorio para que funcione con 16.04 pronto.

rajlego
fuente

Respuestas:

9

Tuve el mismo problema al intentar instalar CUDA 7.5 en Ubuntu 16.04. Esto se debe a una falta de entrada SHA256 o SHA512 en el paquete CUDA (según lo informado por el equipo de Debian aquí ).

Parece que no podemos forzar la actualización de apt-get para obtener un "repositorio no seguro", pero podría evitar completamente el problema utilizando el archivo .run. Esto es lo que hice paso a paso:

  1. En lugar de descargar el paquete .deb, descargue el archivo .run (desde esta página )
  2. Instale un compilador compatible (parece que cuda 7.5 no es compatible con el compilador predeterminado de Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Es posible que deba instalar algunos paquetes adicionales (depende de su configuración):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Inicie el archivo de ejecución y siga las instrucciones:

    sudo sh cuda_7.5.18_linux.run
    

Esto funcionó bien para mí (no olvides instalar el controlador NVIDIA)

EDITAR: después de los pasos 2 y 3, si el instalador de CUDA intenta usar gcc 5.3.1 (predeterminado para ubuntu 16.04) como compilador en lugar de la versión 4.9, puede intentar eliminar la versión 5.3.1, instalar CUDA y luego reinstalar el último gcc versión.

Jinete amina
fuente
No sé si es nuevo, pero al ver mi versión de gcc "incorrecta", el script de instalación realmente sugirió ejecutarlo nuevamente con el indicador '--override'. Así que lo ejecuté nuevamente sh cuda_7.5.18_linux.run --overridey todo parece funcionar bien por ahora: puedo ejecutar un código simple de TensorFlow usando mi tarjeta NVidia. La instalación es casi instantánea y no creo que haya compilado nada. No estoy seguro de por qué es necesario especificar el compilador ... Podría tener algunos problemas más tarde.
toto2
Debería especificar que omití la instalación del controlador ya que ya estaba instalada. No estoy seguro de si eso podría haber pasado por alto alguna compilación.
toto2
¿Pensé que el controlador de Nvidia no se instala automáticamente en 16.04? También pedí a los desarrolladores de Nvidia que solucionaran el problema del repositorio de Cuda .deb, pero me dijeron que Cuda 7.5 todavía no es compatible con 16.04. Parece extraño porque usar el instalador .sh funciona bien e incluso puedo usarlo con tensorflow
Amine Horseman
El controlador NVidia no está instalado de manera predeterminada. Intenté instalarlo directamente desde NVidia y estropeé mi sistema. Pero luego me di cuenta de que puede instalarlo fácilmente yendo a la aplicación Configuración> Software y actualizaciones> Controladores adicionales. Puede que no sea la última, pero es bastante simple.
toto2
5

Cambie su /var/cuda-repo-7-5-local/Releasea lo siguiente:

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

Ejecute sudo apt-get updateignorando las advertencias sobre firmas no válidas, y ya está.

Si eso falla, reemplace la suma SHA256 con la salida de

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

y

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

Actualmente puede usar los siguientes comandos en Ubuntu 16.04 para instalar CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit
SentinalBais
fuente
Gracias por la edición, así que no necesitas cuda-dev?
SentinalBais
0

No puedo comentar, pero agregué a la respuesta de @ Horse-man: no es necesario desinstalar / reinstalar gcc si ya tiene instalado gcc 4.9. Para mí fue suficiente

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

Mi gcc-4.9 era realmente 4.9.3 que no le gustaba al instalador de CUDA, así que lo ejecuté usando

sudo sh cuda_7.5.18_linux.run --override

Y se instaló correctamente.

Guy Rapaport
fuente
0

La solución es simple:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Señor púrpura
fuente