Wie kann ich 16.04 zwingen, ein Repository hinzuzufügen, auch wenn es nicht als sicher genug angesehen wird?

9

Ich muss Nvidia Cuda wirklich installieren, aber ich erhalte den Fehler

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

Kann ich es trotzdem zwingen, es zu installieren? Ich muss es wirklich benutzen, auch wenn es unsicher ist. Ich bezweifle, dass Nvidia das Repo bald auf 16.04 aktualisieren wird.

Rajlego
quelle

Antworten:

9

Ich hatte das gleiche Problem beim Versuch, CUDA 7.5 in Ubuntu 16.04 zu installieren. Dies ist auf einen fehlenden SHA256- oder SHA512-Eintrag im CUDA-Paket zurückzuführen (wie vom Debian-Team hier gemeldet ).

Es scheint, dass wir apt-get update nicht zwingen können, ein "nicht sicheres Repository" abzurufen, aber ich könnte das Problem durch Verwendung der .run-Datei vollständig vermeiden. Folgendes habe ich Schritt für Schritt getan:

  1. Laden Sie anstelle des .deb-Pakets die .run-Datei herunter (von dieser Seite ).
  2. Installieren Sie einen kompatiblen Compiler (es scheint, dass cuda 7.5 nicht mit dem Standard-Compiler von Ubuntu 16.04 kompatibel ist):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Möglicherweise müssen Sie einige zusätzliche Pakete installieren (abhängig von Ihrer Konfiguration):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Starten Sie die Ausführungsdatei und befolgen Sie die Anweisungen:

    sudo sh cuda_7.5.18_linux.run
    

Dies hat bei mir gut funktioniert (vergessen Sie nicht, den NVIDIA-Treiber zu installieren).

BEARBEITEN: Wenn das CUDA-Installationsprogramm nach Schritt 2 und 3 versucht, gcc 5.3.1 (Standard für Ubuntu 16.04) anstelle der Version 4.9 als Compiler zu verwenden, können Sie versuchen, die Version 5.3.1 zu entfernen, CUDA zu installieren und dann die neueste Version von gcc neu zu installieren Ausführung.

Amine Reiter
quelle
Ich weiß nicht, ob es neu ist, aber als ich meine "falsche" gcc-Version sah, schlug das Installationsskript tatsächlich vor, es erneut mit dem Flag '--override' auszuführen. Also habe ich es erneut ausgeführt sh cuda_7.5.18_linux.run --overrideund alles scheint vorerst gut zu funktionieren: Ich kann mit meiner NVidia-Karte einfachen TensorFlow-Code ausführen. Die Installation ist fast augenblicklich und ich glaube nicht, dass sie etwas kompiliert hat. Ich bin nicht sicher, warum der Compiler angegeben werden muss ... Ich könnte später einige Probleme bekommen.
toto2
Ich sollte angeben, dass ich die Treiberinstallation übersprungen habe, da sie bereits installiert war. Ich bin mir nicht sicher, ob das eine Kompilierung hätte umgehen können.
toto2
Ich dachte, dass der Nvidia-Treiber in 16.04 nicht automatisch installiert wird? Ich habe auch Nvidia-Entwickler gebeten, das Problem des Cuda .deb-Repositorys zu beheben, aber sie sagten, dass Cuda 7.5 am 16.04 noch nicht unterstützt wird. Scheint seltsam, weil mit dem .sh Installer es gut funktioniert und ich es sogar mit Tensorflow verwenden kann
Amine Horseman
Der NVidia-Treiber ist in der Tat nicht standardmäßig installiert. Ich habe versucht, es direkt von NVidia zu installieren, und mein System durcheinander gebracht. Aber dann wurde mir klar, dass Sie es einfach installieren können, indem Sie auf die App Einstellungen> Software & Updates> Zusätzliche Treiber gehen. Es ist vielleicht nicht das Neueste, aber es ist ganz einfach.
toto2
5

Ändern Sie Ihre /var/cuda-repo-7-5-local/Releasezu folgenden:

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

Führen Sie sudo apt-get updateWarnungen über ungültige Signaturen zu ignorieren, und Sie sind fertig.

Wenn dies fehlschlägt, ersetzen Sie die SHA256-Summe durch die Ausgabe von

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

und

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

Derzeit können Sie die folgenden Befehle unter Ubuntu 16.04 verwenden, um CUDA Toolkit 7.5 zu installieren:

sudo apt install nvidia-cuda-toolkit
SentinalBais
quelle
Danke für die Bearbeitung, also brauchst du keinen Cuda-Dev?
SentinalBais
0

Ich kann nicht kommentieren, aber zur Antwort von @ Horse-man hinzufügen: Sie müssen gcc nicht deinstallieren / neu installieren, wenn Sie gcc 4.9 bereits installiert haben. Für mich war es genug

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

Mein gcc-4.9 war wirklich 4.9.3, was dem CUDA-Installer nicht gefiel, also habe ich es mit ausgeführt

sudo sh cuda_7.5.18_linux.run --override

Und es wurde richtig installiert.

Guy Rapaport
quelle
0

Die Lösung ist einfach:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Herr Lila
quelle